Assignment Help logo
在线聊天

Loading...

Score %0 (0 correct0 incorrect20 unanswered)

Q1. 渲染视图中的部分时,您如何传递用于渲染的局部变量?

  • <%= render partial: "nav", selected: "about"}%>
  • <%= render partial: "nav", local_variables: {selected: "about"} %>
  • <%= render partial: "nav", locals: {selected: "about"}

Q2. 在Rails控制器中,哪段代码将阻止父控制器的before_action :get_feature运行?

  • skip_before_action :get_feature
  • skip :get_feature, except: []
  • prevent_action :get_feature
  • :redis_cache_store

Q3. 下面哪个描述正确地区分了表单辅助方法form_tagform_for之间的差异?

  • form_tag方法用于基本表单,而form_for方法用于包含文件上传的多部分表单。
  • form_tag方法用于HTTP请求,而form_for方法用于AJAX请求。
  • form_tag方法通常期望URL作为其第一个参数,而form_for方法通常期望一个模型对象。
  • form_tag方法在运行时评估,而form_for方法预编译并缓存。

Q4. before_action(以前称为before_filter)是什么?

  • 在对象状态改变之前执行的触发器
  • 在ActiveRecord模型保存之前执行的方法
  • 在处理事件之前触发的回调
  • 在控制器中执行的方法,在控制器动作方法之前执行

Q5. 您可以使用哪个模块将一致的功能块封装为mixin?

  • ActiveSupport::Concern
  • RailsHelper.CommonClass
  • ActiveJob::Mixin
  • ActiveSupport::Module

Q6. 在Rails中,您将使用哪个代码定义处理PUTPATCH REST HTTP动词的路由?

  • put :items, include: patch
  • put 'items', to: 'items#update'
  • match 'items', to 'items#update', via: [:put, :patch]
  • match :items, using: put && patch

Q7. 哪个选项包括标准的REST HTTP动词?

  • GET, POST, PATCH, DELETE
  • REDIRECT, RENDER, SESSION, COOKIE
  • INDEX, SHOW, NEW, CREATE, EDIT, UPDATE, DESTROY
  • CREATE, READ, UPDATE, DELETE

Q8. 哪个ActiveRecord查询可以防止SQL注入?

  • Product.where("name = #{@keyword}")
  • Product.where("name = " << @keyword}
  • Product.where("name = ?", @keyword
  • Product.where("name = " + h(@keyword)

Q9. 鉴于以下代码,关于数据库表“documents”的哪个描述可能为真?

class Document < ActiveRecord::Base
  belongs_to :documentable, polymorphic: true
end

class Product < ActiveRecord::Base
  has_many :documents, as: :documentable
end

class Service < ActiveRecord::Base
  has_many :documents, as: :documentable
end
  • 它将包括一个 :type 列。
  • 它将包括 :documentable_id:documentable_type 列。
  • 它将包括 :documentable:type 列。
  • 它将包括一个 :polymorphic_type 列。

Q10. 控制器方法中设置的实例变量在视图中可访问吗?

  • 是的,在控制器上设置的任何实例变量都可以在视图中访问和显示。
  • 是的,在动作方法中设置的实例变量在视图中可访问,但只有在动作方法内显式调用渲染时才可以。
  • 不是的,控制器中的实例变量是私有的,不能访问。
  • 不是的,实例变量永远不能在控制器动作方法中设置。

Q11. 当Rails模型中字段的验证失败时,验证错误的消息存储在哪里?

  • my_model.errors[:field]
  • my_model.get_errors_for(:field)
  • my_model.field.error
  • my_model.all_errors.select(:field)

Q12. 如果用户请求索引操作,给定此代码,哪个选择将会是一个正确的陈述?

class DocumentsController < ApplicationController
  before_action :require_login
  def index
    @documents = Document.visible.sorted
  end
end
  • 用户的文档将被加载。
  • 索引操作将正常运行,因为:index未列为before_action的参数。
  • require_login方法将在运行索引操作之前自动登录用户。
  • 如果require_login方法调用了render或redirect_to,则不会运行索引操作。

Q13. 您将如何生成一个下拉菜单,允许用户从产品名称的集合中进行选择?

  • <%= select_tag(@products) %>
  • <%= collection_select(@products) %>
  • <select name="product_id"> <%= @products.each do |product| %> <option value="<%= product.id %>"/> <% end %></select>
  • <%= collection_select(:product, :product_id, Product.all, :id, :name) %>

Q14. 对于Rails验证器,您如何为模型属性address定义一个错误消息,消息为“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"`

自定义验证器

Q15. 给定URL助手product_path(@product),哪个陈述预期将会是_错误_的?

  • 如果使用PATCH HTTP方法发送,该URL可用于更新数据库中的产品。
  • 如果使用POST HTTP方法发送,该URL将在数据库中创建一个新产品。
  • 如果使用GET HTTP方法发送,该URL将执行ProductsController中的show操作。
  • 如果使用DELETE HTTP方法发送,该URL将默认调用destroy操作。

Q16. 给定此代码,如果用户请求索引操作,哪个选择预计将是一个_正确_的陈述?

class DocumentsController < ApplicationController
  before_action :require_login
  def index
    @documents = Document.visible.sorted
  end
end
  • 用户的文档将被加载。
  • 索引操作将正常运行,因为:index未列为before_action的参数。
  • require_login方法将在运行索引操作之前自动登录用户。
  • 如果require_login方法调用了render或redirect_to,则不会运行索引操作。

Q17. 在Rails中,您将如何缓存渲染的部分模板?

  • render partial: 'shared/menu', cached: true
  • render_with_cache partial: 'shared/menu'
  • render partial: 'shared/menu'
  • render partial: 'shared/menu', cached_with_variables: {}

Q18. 在Rails中使用Concern的原因是什么?

  • Concern允许在模型、控制器和其他类中进行模块化和代码重用。
  • Concern用于将类方法与模型分开。
  • Concern用于增加Rails应用程序的安全性。
  • Concern用于重构Rails视图。

Q19. 当使用ActiveRecord模型时,哪个方法会在内存中创建模型实例并将其保存到数据库中?

  • build
  • new
  • create
  • save

参考

Q20. 您正在使用一个名为coffee_orders的表的现有数据库。为了使用该表,ActiveRecord模型应该命名为什么?

  • CoffeeOrders
  • Coffee_Orders
  • Coffee_Order
  • CoffeeOrder