如何解决div_for:NoMethodError
| 我正在尝试一个ror教程,并且遇到了以下代码行: index.html.erb:<%= render :partial => @players %>
_player.html.erb:
<% div_for player do %>
<%= player.FNAME %> <%= player.SURNAME %>
<% end %>
players_controller.rb:
def index
@players = Player.all(:order => \"FNAME\")
respond_to do |format|
format.html
end
end
我想修改index.html.erb,以便不需要部分内容,但不能正常工作。
请参见下面的代码。
index.html.erb:
<% div_for @players do %>
<%= @player.FNAME %> <%= @player.SURNAME %>
<% end %>
Players#index中的NoMethodError
解决方法
这是您的代码的直接翻译:
<% @players.each do |player| %>
<% div_for player do %>
<%= player.FNAME %> <%= player.SURNAME %>
<% end %>
<% end %>
给定一个集合的render :partial
(本例中为@players
)将逐步浏览该集合并为您呈现部分内容。
但是呈现集合还可以为您提供计数器和间隔模板。
, <div>
<% @players.each do |player| %>
<p><%= player.FNAME %></p>
<p><%= player.SURNAME %></p>
<% end %>
</div>
仅供参考,将这些内容保留在部分内容中是个好主意。
, 基本上,div_for将寻找一个ID以便:
<div id=\"the_id\">
因为您传递的是数组,而不是对象,所以丢失了。
您应该使用content_tag来达到目的。
在此处查看文档:http://api.rubyonrails.org/classes/ActionView/Helpers/TagHelper.html#method-i-content_tag
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。