0

我在下面的代码中得到了一个ArgumentError in Members#index。我在这里有什么额外的论据?我不知道为什么我会收到此错误并在 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 回答