我有一个涉及belongs_to关系的问题。目前,我有一个属于名称的物品。此名称的标题是项目的标题。在视图中,它显示
<% = item.name.title %>
一直提出错误信息“标题方法”不存在,尽管它不是一种方法。建议?
答案 0 :(得分:0)
属性是通过ActiveRecord :: Base汇集并作为方法访问的方法。您可以看到代码here。
我猜你的项目没有与之关联的名称,但它仍然会有名称方法。如果你输出item.name,你会得到什么?
答案 1 :(得分:0)
如果您的标题对象没有附加名称对象,则会出错。解决此问题的一种方法是使用此方法:
<% if item.name %>
<%= item.name.title %>
<% end %>
答案 2 :(得分:0)
我担心这个问题比你想象的要深得多。
属于名称的项目
好的,你肯定意味着Item has_one :name
和Name belongs_to :item
你不能只在表:name
中添加一列items
吗?
此名称的标题是项目的标题
Oulala。你的意思是item.title == item.name.title
?
在视图中,它显示&lt;%= item.name.title%&gt;一直出现错误
确定。它在视图中不显示任何内容。
“标题方法”不存在的错误消息,尽管事实上它不是方法
如果它不是一种方法,它是什么?
怎么说错误信息呢?