0

次のコードの行でArgumentError in Members#indexofを取得しています。ここで私はどんな追加の議論を持っていますか? なぜこのエラーが発生し、SO を検索しても、Google からこの特定の状況に対する回答が得られなかったのかわかりません。wrong number of arguments (1 for 0)<% if m.platforms %>

以下を使用する Rails 4.0 ビューがあります(読みやすいように簡略化しています)

意見:

<% if @members %>
    <% for m in @members %>
        <% if m.platforms %>
            <% for p in m.platforms %>
                <%= link_to p.name, :controller => 'members', :action => 'platforms', :id => p.id %>
            <% end %>
        <% else %>
            do something else...
        <% end %>
    <% end %>
<% else %>
    ...

コントローラ:

def index
    if current_user
        @members = current_user.members
    end
end
4

2 に答える 2

0

「for m in @members」と「for p in m.platforms」の「do」が抜けていました。

<% if @members %>
  <% for m in @members do %> # add the "do"
    <% if m.platforms %>
      <% for p in m.platforms do %> # add the "do"
        <%= link_to p.name, :controller => 'members', :action => 'platforms', :id => p.id %>
      <% end %>
    <% else %>
      do something else...
    <% end %>
  <% end %>
<% else %>
 do something else...
<% end %>
于 2013-09-21T22:06:28.977 に答える
0

とてもひどい答えですが、どういうわけかそれ自体がちょっと修正されました。私はそれが起こるのが嫌いです...それを機能させるために何をしたかを正確に知りたいです...このビューが使用するモデルに多くの変更を加えたので、おそらくそれに関連していました..これに出くわす次の人を助けることができます。これに出くわし、同じ問題が発生している場合は、以下にコメントしてください。私がお手伝いします。何が起こったのかがわかり次第、この回答を正しいものに更新してください。申し訳ありませんグーグルユーザー...

于 2013-10-12T15:07:14.207 に答える