我第一次使用Rails 4。文档说您可以将实例变量传递给部分:
<%= render partial: "customer", object: @new_customer %>
所以我尝试做同样的事情。我正在使用fullcalendar引擎,我渲染index.html.erb,在里面我渲染表单部分。我将@record传给了partial。我知道记录不是nil,因为我添加了inspect_record helper来检查@record是否存在:
<%= render "form", :object => @record %>
<%= inspect_record @record %>
但是,在_form.html.erb partial中,@ record为nil,并且此条件返回false:
<% unless @record.nil? %>
注意我也尝试了这个:
<%= render 'form', locals: {record: @record} %>
我可能做错了什么?
答案 0 :(得分:1)
如果您正在使用:
<%= render 'form', locals: {record: @record} %>
然后,您需要在record
中使用变量@record
而不是_form.html.erb
作为:
<% unless record.nil? %>
说明强>
locals: {record: @record}
表示,在部分呈现中使用@record
可以访问record
的值。