链接到创建此帖子的用户

时间:2015-10-15 11:50:07

标签: ruby-on-rails ruby

我有模型ForumTopicPost,我需要创建一个指向创建此帖子的用户的链接。这是我的例子:

- @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

我所有的关系似乎都没问题。

2 个答案:

答案 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)