2014-10-30 61 views
0

我在我的Rails应用中有一个非常简单的评论系统 - 我想允许用户在评论者名称上点击以访问他的个人资料。Rails:重定向到评论中的用户个人资料

但没有任何成功 - 我不知道我错过了什么。

<% @comments.each do |comment| %> 

      <p><a href="<%= user_path(@comment.user_id) %>" style="text-decoration : none"><%= image_tag comment.user.image, class: "img-circle", width: "30x30" if comment.user %><font class="small" color="#28c3ab"> @<%= comment.user.name if comment.user %></font></a> 

<% end %> 

但是我有一个没有比赛的路线错误:

No route matches {:action=>"show", :controller=>"users", :id=>nil} missing required keys: [:id] 

任何想法我很想念?我知道这很简单,但现在我已经没有想法了。我应该在我的控制器中添加此调用?

回答

1

我想通了,你的问题可能是@comment

变化:

user_path(@comment.user_id) 

到:

user_path(comment.user_id) 
+0

这是一样的。在内部,第一个电话被翻译成第二个电话。 – 2014-10-30 21:59:52

+0

同样的错误 - 它那相同的呼叫 – zacchj 2014-10-30 22:00:07

+2

@zacchj检查,这可能是问题 – mohameddiaa27 2014-10-30 22:24:36

0

检查的@comment.user_id值。可能没有user_id分配给实例,值为nil

+0

奇怪,评论关联到用户=> 2.1.1:006>注释= Comment.first! 评论加载(0.2ms)SELECT“comments”。* FROM“comments”ORDER BY“comments”。“id”ASC LIMIT 1 (irb):6:warning:已经初始化常数Comment /Users/jeremyzaccherini/Desktop/fundmymac /应用/型号/ comment.rb:1:警告:评论以前的定义在这里 =>#<注释ID:1,内容: “美丽”,commentable_id:2,commentable_type: “PIN”,created_at:“2014 -08-18 14:13:31“,updated_at:”2014-08-18 14:13:31“,user_id:3> – zacchj 2014-10-30 22:02:08

+0

正如你所看到的,有一个user_id与每个评论相关联 – zacchj 2014-10-30 22:02:42

+0

Your代码只是演示了第一条评论有一个user_id。你确定每条评论记录都有一个用户ID吗?运行'Comment.pluck(:user_id)'并检查返回的数组是否包含“nil”值。 – 2014-10-30 22:10:18

相关问题