我对 Rails 4 非常陌生,并试图了解如何从 index.html.erb 部分渲染某些字段。我彻底糊涂了。我一直在关注 Agile 4 的 Depot 应用程序,但正在修改注册应用程序。
在商店中,我有一个名为 _listing.html.erb 的部分,它是registrations 视图中registrations/index.html.erb 的副本,如下所示:
<h1>Listing</h1>
<div id="reglist">
<ul>
<li>Name</li>
<li>Age</li>
<li>Group</li>
</ul>
<% @registrations.each do |r| %>
<ul>
<li><%= r.full_name %></li>
<li><%= r.age %></li>
<li><%= r.group %></li>
</ul>
<% end %>
.
registrations_controller.rb 有:
def listing
@registrations = Registration.all
end
在上面的 def 列表中,如果我使用 @registrations = Registration.find(params[:id]) 我得到一个错误:未定义的方法 `each' for nil:NilClass。
store/index.html.erb 有:
<%= render "registrations/listing" %>
如果此部分包含纯文本,它会显示,但我不知道如何从注册表中获取名字和姓氏、年龄和组的动态显示,以显示在新页面上并可用于打印姓名标签。
如果这不是寻求帮助的正确方式,我深表歉意,我目前不确定如何做这样的事情,非常感谢帮助或指导初学者教程。我在谷歌上呆了几天,所以试图理解但没有运气。