每当我试图将游戏局部渲染时,渲染它的视图都会给出一个零回报。
这是部分游戏:
<%= flash[:notice] %>
<tr>
<% @games.each do |game| %>
<td><%= game.name %></td>
<td><%= link_to('Pick!', vote_up_game_path(game.id), :method => :post) %></td>
</tr>
<% end %>
答案 0 :(得分:1)
您应该将@games
作为局部变量传递给局部变量。考虑查看有关其用法的文档。我也觉得闪光通知不应该属于局部。您可能还想更正代码
<% games.each do |game| %>
<tr>
<td><%= game.name %></td>
<td><%= link_to 'Pick!', vote_up_game_path(game.id), :method => :post %></td>
</tr>
<% end %>
您可以按如下方式渲染部分
<%= render :partial => "game_partial", :locals => { :games => @games } %>
确保@games
不是零也很重要。如果是,您仍然会收到错误 - 您应该检查您的控制器;通常我会想象你的控制器会有@games = Game.all
,当然这取决于你的特定实现。