【问题标题】:rails 4.0 beta, fields_for not accepting more than one argumentrails 4.0 beta,fields_for 不接受多个参数
【发布时间】:2013-04-07 20:11:47
【问题描述】:

这行得通:

<%= f.fields_for :exercise do |builder| %>
            <%= render 'exercise_fields', f: builder %>
        <% end %>
        <%= add_fields "Add Exercise", f, :exercises %>

    <%= f.submit %>

但添加另一个参数(在这种情况下是对对象的引用)会引发 ArgumentError:

<% @workout.exercises.each do |exercise| %>

        <%= f.fields_for :exercise, exercise do |builder| %>
            <%= render 'exercise_fields', f: builder %>
        <% end %>
        <% end %>
        <%= add_fields "Add Exercise", f, :exercises %>

    <%= f.submit %>

错误:参数数量错误(2 比 1)

我在不同的地方多次看到过这种情况。这是一个错误还是我犯了一些简单的错误?

【问题讨论】:

    标签: ruby-on-rails arguments ruby-on-rails-4 fields-for


    【解决方案1】:

    尝试将其作为数组传递:

    <%= f.fields_for [:exercise, exercise] do |builder| %>
    

    【讨论】:

      【解决方案2】:

      糟糕,这当然是一个简单的错误。我在自定义表单构建器中覆盖了 fields_for 辅助方法,我只将它定义为有一个参数。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-04-10
        • 1970-01-01
        • 1970-01-01
        • 2015-08-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多