我有模型Forum
,Topic
和Post
,我需要创建一个指向创建此帖子的用户的链接。这是我的例子:
- @posts.each do |post|
tr
td | user
td = post.content
td = post.created_at
td = link_to post.user.login, user_path(@user)
主题控制器:
def show
@forum = Forum.find(params[:forum_id])
@topics = Topic.find(params[:id])
@posts = @topics.posts
@user = @topics.user
我所有的关系似乎都没问题。
答案 0 :(得分:1)
您的问题有点令人困惑,部分原因是名称变量,部分原因是您实际上没有说出问题所在。但我认为你应该可以说
td = link_to post.user.login, user_path(post.user)
我对变量名的含义是,有时您使用复数形式来引用单个对象,例如我会将您的show动作重写为
def show
@forum = Forum.find(params[:forum_id])
@topic = Topic.find(params[:id])
@posts = @topic.posts
end
然后在视图中执行
- @posts.each do |post|
tr
td | user
td = post.content
td = post.created_at
td = link_to post.user.login, user_path(post.user)
答案 1 :(得分:0)
也许你想要这个:
td = link_to post.user.login, user_path(post.user)