LinkedIn Ruby on Rails Assessment Answers 2022 _ All Correct

LinkedIn Ruby on Rails Assessment Answers 2022 

LinkedIn Ruby on Rails Assessment Answers 2022
LinkedIn Ruby on Rails Assessment Answers 2022
Q1. When rendering a partial in a view, how would you pass local variables for rendering?
  •  <%= render partial: “nav”, selected: “about”}%>
  •  <%= render partial: “nav”, local_variables: {selected: “about”} %>
  •  <%= render partial: “nav”, locals: {selected: “about”}
Q2. Within a Rails controller, which code will prevent the parent controller’s before_action:get_feature from running?
  •  skip_before_action :get_feature
  •  skip :get_feature, except: []
  •  prevent_action :get_feature
  •  :redis_cache_store
Q3. Which statement correctly describes a difference between the form helper methods form_tag and form_for?
  •  The form_tag method is for basic forms, while the form_for method is for multipart forms that include file uploads.
  •  The form_tag method is for HTTP requests, while the form_for method is for AJAX requests.
  •  The form_tag method typically expects a URL as its first argument, while the form_for method typically expects a model object.
  •  The form_tag method is evaluated at runtime, while the form_for method is precompiled and cached.
Q4. What is before_action (formerly known as before_filter)?
  •  A trigger that is executed before any alteration of an object’s state
  •  A method that is executed before an ActiveRecord model is saved
  •  A callback that fires before an event is handled
  •  A method in a controller that is executed before the controller action method
Q5. Which module can you use to encapsulate a cohesive chunk of functionality into a mixin?
  •  ActiveSupport::Concern
  •  RailsHelper.CommonClass
  •  ActiveJob::Mixin
  •  ActiveSupport::Module
Q6. In Rails, which code would you use to define a route that handles both the PUT and PATCH REST HTTP verbs?
  •  put :items, include: patch
  •  put ‘items’, to: ‘items#update’
  •  match ‘items’, to ‘items#update’, via: [:put, :patch]
  •  match :items, using: put && patch
Q7. Which choice includes standard REST HTTP verbs?
Q8. Which ActiveRecord query prevents SQL injection?
  •  Product.where(“name = #{@keyword}”)
  •  Product.where(“name = ” << @keyword}
  •  Product.where(“name = ?”, @keyword
  •  Product.where(“name = ” + h(@keyword)
Q9. Given this code, which statement about the database table “documents” could be expected to be true?
class Document < ActiveRecord::Base
  belongs_to :documentable, polymorphic: true
class Product < ActiveRecord::Base
  has_many :documents, as: :documentable
class Service < ActiveRecord::Base
  has_many :documents, as: :documentable
  •  It would include a column for type.
  •  It would include columns for :documentable_id and :documentable_type.
  •  It would include columns for: documentable and: type.
  •  It would include a column for polymorphic_type.
Q10. Are instance variables set within a controller method accessible within a view?
  •  Yes, any instance variables that are set in an action method on a controller can be accessed and displayed in a view.
  •  Yes, instance variables set within an action method are accessible within a view, but only when render is explicitly called inside the action method.
  •  No, instance variables in a controller are private and are not accessible.
  •  No, instance variables can never be set in a controller action method.
Q11. When validation of a field in a Rails model fails, where are the messages for validation errors stored?
  •  my_model.errors[:field]
  •  my_model.get_errors_for(:field)
  •  my_model.field.error
Q12. If a database table of users contains the following rows, and id is the primary key, which statement would return only an object whose last_name is “Cordero”?
| id | first_name | last_name |
| 1  | Alice      | Anderson  |
| 2  | Bob        | Buckner   |
| 3  | Carrie     | Cordero   |
| 4  | Devon      | Dupre     |
| 5  | Carrie     | Eastman   |
  •  User.where(first_name: “Carrie”)
  •  User.not.where(id: [1, 2, 4, 5])
  •  User.find_by(first_name: “Cordero”)
  •  User.find(3)
Q13. How would you generate a drop-down menu that allows the user to select from a collection of product names?
  •  <%= select_tag(@products) %>
  •  <%= collection_select(@products) %>
  •  <select name=”product_id”> <%= @products.each do |product| %> <option value=”<%= %>”/> <% end %></select>
  •  <%= collection_select(:product, :product_id, Product.all, :id, :name) %>
Q14. For a Rails validator, how would you define an error message for the model attribute address with the message “This address is invalid”?
  •  model.errors = This address is invalid
  •  errors(model, :address) << “This address is invalid”
  •  display_error_for(model, :address, “This address is invalid”)
  •  model.errors[:address] << “This address is invalid” Reference: Custom Validator
Q15. Given the URL helper product_path(@product), which statement would be expected to be false?
  •  If sent using the PATCH HTTP method, the URL could be used to update a product in the database.
  •  If sent using the POST HTTP method, the URL would create a new product in the database.
  •  If sent using the GET HTTP method, the URL would execute the show action in ProductsController.
  •  If sent using the DELETE HTTP method, the URL would call the destroy action by default.
Q16. Given this code, which choice would be expected to be a true statement if the user requests the index action?
class DocumentsController < ApplicationController
  before_action :require_login
  def index
    @documents = Document.visible.sorted
  •  The user’s documents will be loaded.
  •  The index action will run normally because the index is not listed as an argument to before_action.
  •  The require_login method will automatically log in to the user before running the index action.
  •  The index action will not be run if the require_login method calls render or redirect_to.
Q17. In Rails, how would you cache a partial template that is rendered?
  •  render partial: ‘shared/menu’, cached: true
  •  render_with_cache partial: ‘shared/menu’
  •  render partial: ‘shared/menu’
  •  render partial: ‘shared/menu’, cached_with_variables: {}
Q18. What is the reason for using Concerns in Rails?
  •  Concerns allow modularity and code reuse in models, controllers, and other classes.
  •  Concerns are used to separate class methods from models.
  •  Concerns are used to increase the security of Rails applications.
  •  Concerns are used to refactor Rails views.
Q19. When using an ActiveRecord model, which method will create the model instance in memory and save it to the database?
  •  build
  •  new
  •  create Reference
  •  save
Q20. You are using an existing database that has a table named coffee_orders. What would the ActiveRecord model be named to use that table?
  •  CoffeeOrders
  •  Coffee_Orders
  •  Coffee_Order
  •  CoffeeOrder Reference
Q21. In ActiveRecord, what is the difference between the has_many and has_many: through associations?
  •  The has_many: through association is the one-to-many equivalent to the belongs_to one-to-one association.
  •  Both associations are identical, and has_many: through is maintained only for legacy purposes.
  •  The has_many association is a one-to-many association, while has_many: through is a one-to-one association that matches through a third model.
  •  Both are one-to-many associations but with has_many: through, the declaring model can associate through a third model.
Q22. How do you add Ruby code inside Rails views and have its result outputted in the HTML file?
  •  Create an embedded Ruby file (.html.erb) and surround the Ruby code with <% %>.
  •  Insert Ruby code inside standard HTML files and surround it with <% %>. The web server will handle the rest.
  •  Create an embedded Ruby file (.html.erb) and surround the Ruby code with <%= %>.
  •  Put the code in a .rb file and include it in a <link> tag of an HTML file.
Q23. How would you render a view using a different layout in an ERB HTML view?
  •  <% render ‘view_mobile’ %>
  •  <% render ‘view’, use_layout: ‘mobile’ %>
  •  <% render ‘view’, layout: ‘mobile’ %> Reference
  •  <% render_with_layout ‘view’, ‘mobile’ %>
Q24. Given this controller code, which choice describes the expected behavior if parameters are submitted to the update action that includes values for the product’s name, style, color, and price?
class ProductController < ActionController::Base
  def update
    @product = Product.find(params[:id])
    if @product.update_attributes(product_params)
  def product_params
    params.require(:product).permit(:name, :style, :color)
  •  The product will not be updated and the edit template will be rendered.
  •  The product will not be updated and the controller will raise an ActiveModel::ForbiddenAttributes exception.
  •  The product will be updated with the values for name, style, and color, but the value for a price will be ignored.
  •  The product will be updated with the values for name, style, color, and price.
Q25. A Rails project has ActiveRecord classes defined for Classroom and Student. If instances of these classes are related so that students are assigned the ID of one particular classroom, which choice shows the correct associations to define?
  •  A
class Classroom < ActiveRecord::Base
  belongs_to :students, class_name: ‘Student’
class Student < ActiveRecord::Base
  belongs_to :classrooms, class_name: ‘Classroom’
  •  B
class Student < ActiveRecord::Base
  has_many :classrooms, dependent: true
class Classroom < ActiveRecord::Base
  has_many :students, dependent: false
  •  C
class Student < ActiveRecord::Base
  has_many :classrooms
class Classroom < ActiveRecord::Base
  belongs_to :student
  •  D
class Classroom < ActiveRecord::Base
  has_many :students
class Student < ActiveRecord::Base
  belongs_to :classroom

Add a Comment

Your email address will not be published. Required fields are marked *