Ruby On Rails - 带有nested_form的Simple_fields_for,传递变量

时间:2013-10-02 12:39:55

标签: ruby-on-rails variables nested-forms simple-form partial

使用带有Simple表单的嵌套表单时是否可以传递变量?

<%= simple_nested_form_for(@foo) do |f| %>
  ...
  <%= f.simple_fields_for :bar %>
  <%= f.link_to_add :bar do %>
    Add bar
  <% end %>
<% end %>

我试过了

<%= f.simple_fields_for :bar, :locals => {:baz => 'baz'} %>

但是它不会在部分中捡到它。

部分: _bar.html.erb

<%= baz %>

Simple Form Gem

Nested Form Gem

2 个答案:

答案 0 :(得分:2)

我一直在寻找相同的东西,从来没有在任何地方看到答案,所以我发布了一个对我有用的例子:

<%= f.simple_fields_for :answers do |answers| %>
   <%= render 'answer_fields',  { f: answers, question: @question }  %>
<% end %>

此外,如果要从partial中呈现的集合中访问当前对象,请在partial中使用f.object。

答案 1 :(得分:1)

要将变量传递给partials,请使用:locals选项:

<%= render partial: "my_awesome_partial", locals: {variable: 5, baz: 'baz'} %>