以下代码的作用是什么?
<%= form_for(@user) do |f| %>
<%= render 'shared/error_messages', object: f.object %>
....
<% end %>
它在app / views / shared中呈现部分名称_error_messages.html.erb但是对象参数究竟做了什么?和f.object?
答案 0 :(得分:0)
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变量下使用 帐户