在下面的代码段中,似乎form_user_fields partial无法访问patient_form或user_fields,但它可以访问@patient。这是预期的行为吗?
<%= form_for @patient do |patient_form| %>
<%= patient_form.fields_for :user do |user_fields| %>
<% render :partial => 'shared/form_user_fields' %>
答案 0 :(得分:3)
通常,partials可以访问与其他视图相同的变量(来自控制器的实例变量。)它们无法访问您在包含partials的其他视图中创建的变量,即预期的行为。 / p>
如果要访问本地变量,可以将它们传递给partial:
<%= render :partial => "shared/form_user_field", :locals => {:user_fields => user_fields, :patient_form => patient_form} %>