我有一个包含用户(Devise、Rolify、Cancan)、食谱和食谱评论的网站。
我的路线是这样的:
resources :users
resources :recipes do
resources :comments
end
我的模型是:
class User < ActiveRecord::Base
has_many :recipes
has_many :comments
class Recipe < ActiveRecord::Base
belongs_to :user
has_many :comments
class Comment < ActiveRecord::Base
belongs_to :recipes
belongs_to :user
我正在Recipes Show 操作中呈现评论和评论表单。问题是在渲染之前,在 _comment.html.erb 部分,当我写:
<%= comment.user.name %>
我得到了 nil:NilClass 错误的未定义方法“名称”。
无论如何,我可以显示
<% comment.user_id %>
如何检索用户名?
我试过了:
<%= User.find(comment.user_id).name %>
<%= @comment.user.name %>
<%= comment.user_id.find(:name) %>
<%= comment.user_id.get(:name) %>
<%= comment.user_id(:name) %>
有人知道有关路由的完整教程吗?在这里我可以找到所有的理论,但对于初学者来说,解释上有很多漏洞。这里我一直跟进到最后,但没有解释嵌套资源与非嵌套资源的关系,也没有解释编辑和删除评论。
谢谢。