如何使用渲染的object参数完全正常工作

时间:2013-11-19 23:11:10

标签: ruby-on-rails

以下代码的作用是什么?

<%= form_for(@user) do |f| %>
  <%= render 'shared/error_messages', object: f.object %>
....
<% end %>

它在app / views / shared中呈现部分名称_error_messages.html.erb但是对象参数究竟做了什么?和f.object?

2 个答案:

答案 0 :(得分:0)

根据Rails API docs

render(options = {}, locals = {}, &block)
  

如果没有传递选项哈希或:指定了更新,则默认为   渲染部分并使用第二个参数作为本地散列。

因此,object是将在部分中使用的局部变量,f.object是变量的值。

有关详细信息,请阅读this

答案 1 :(得分:0)

我不熟悉“f.object”中的对象方法,但是对于“object:”

根据Rails API: Action View Partials

  

默认情况下,ActionView :: PartialRenderer没有任何本地   变量。 :object选项可用于将对象传递给   部分。例如:

     

&lt;%=渲染部分:“帐户”,对象:@ buy%&gt;会提供   @buyer对象为partial,可在local变量下使用   帐户