0

一連のリソースを管理するページを作成していますが、これらのリソースの一部は "Effect" レコードに関連付けられています。リソース上のエフェクト レコードの存在を 1 つのフォーム テンプレートで処理できるようにしようとしていますが、条件に問題があります。

このコードを使用するとうまく機能するレコードもありますが、一部のレコードでは引数の不一致エラーが発生します。

作成しようとしているフォームの一部を次に示します。

<%= semantic_form_for [ :manage, resource ], :html => {:class => 'default-manage-form' } do |f| %>
  <%= f.inputs do %>

    <% attributes.each do |attr| %>
      <%= f.input attr.to_sym %>
    <% end %>

    <% if resource.effects != nil && !resource.effects.empty? %>
      <%= f.inputs :modifier, :name, :value, :for => resource.effects, :name => "Effects" %>
    <% end %>

    <%= f.actions do %>

      <%= f.action :submit %>
    <% end %>
  <% end %>
<% end %>

すべてではありませんが、いくつかのレコードで、エフェクト入力を作成しているときにこのエラーが発生します。

wrong number of arguments (4 for 3)

ここでコードを修正して、formtastic がクラッシュしないようにするにはどうすればよいですか? 私はRailsにも比較的慣れていないので、助けていただければ幸いです。

4

1 に答える 1

0

Responds_to メソッドを使用してこれを修正しました。

<% if resource.respond_to? :effects %>
  <% resource.effects.each do |effect| %>
    <hr>
    <%= f.inputs :modifier, :name, :value, :for => effect %>
  <% end %>
<% end %>
于 2013-02-05T19:06:28.733 に答える