我试图列出我的Sushis,我有:Name, Price, Type of Sushi
列出。问题是我需要按名称显示Type of Sushi
而不是ID。我尝试在<%= sushi.tipo_sushi.name %>
之前添加<%= sushi.tipo_sushi_id %>
但是当我将rails s
放入cmd:undefined method "name" for nil:NilClass
时,我收到了此消息(当我使用{{1}时未列出}}
/app/views/sushis/index.html.erb:
<%= sushi.tipo_sushi_id %>
应用程序/模型/ sushi.rb:
<% @sushis.each do |sushi| %>
<%= sushi.name %>
<%= sushi.price %>
<%= sushi.tipo_sushi.name %>
<%= link_to 'Show', sushi %>
<%= link_to 'Edit', edit_sushi_path(sushi) %>
<%= link_to 'Destroy', sushi, method: :delete, data: { confirm: 'Are you sure?' } %>
<% end %>
有人能帮助我吗?
答案 0 :(得分:0)
在命令行中键入rails c
,然后键入
TipoSushi.attribute_names
您将看到属于您的TipoSushi
表格的属性和列名称数组。
如果TipoSushi.attribute_names.include?(:name)
返回false
,则表示您的表格中没有此列。
然后您需要运行迁移
rails g migration AddNameToTipoSushi name: string
然后运行
rake db:migrate
然后在模型中确保验证所有字段
class TipoSushi
validates :name, :price, :presence => true