Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 从rails中的多态表检索数据_Ruby On Rails_Polymorphic Associations - Fatal编程技术网

Ruby on rails 从rails中的多态表检索数据

Ruby on rails 从rails中的多态表检索数据,ruby-on-rails,polymorphic-associations,Ruby On Rails,Polymorphic Associations,我已经建立了一些多态关系,并且在主要目的上工作得很好。也就是说,用户可以对文章和咖啡店发表评论 然而,我很难在用户的个人资料页面上显示用户的评论列表。在未来,我还希望用户能够“喜爱”和“想去”不同的咖啡店,我也希望显示在他们的个人资料页面上。我希望,一旦我获得了显示当前评论的逻辑,剩下的将是轻而易举的事;) 所以我有: 模型 我收到一个未定义注释的错误。确定首先返回此以显示将其移动到索引并不能解决问题索引未被调用,因此请这样编写显示 def show @user = current_user

我已经建立了一些多态关系,并且在主要目的上工作得很好。也就是说,用户可以对文章和咖啡店发表评论

然而,我很难在用户的个人资料页面上显示用户的评论列表。在未来,我还希望用户能够“喜爱”和“想去”不同的咖啡店,我也希望显示在他们的个人资料页面上。我希望,一旦我获得了显示当前评论的逻辑,剩下的将是轻而易举的事;)

所以我有:

模型


我收到一个未定义注释的错误。

确定首先返回此以显示将其移动到索引并不能解决问题索引未被调用,因此请这样编写显示

def show
 @user = current_user #you get instance of a user that is logged in
 @comments =  @user.comments
end
我不知道您的评论迁移中是否有用户id,但如果没有,则必须编写

class User < ApplicationRecord
  has_many :comments, as: :commentable
end
class用户
看法

您的最新评论

确定首先返回此项以显示将其移动到索引并不能解决问题索引未被调用,因此编写如下显示

def show
 @user = current_user #you get instance of a user that is logged in
 @comments =  @user.comments
end
我不知道您的评论迁移中是否有用户id,但如果没有,则必须编写

class User < ApplicationRecord
  has_many :comments, as: :commentable
end
class用户
看法

您的最新评论

您确定
参数[:id]
返回一个整数值吗?是的。在我的评论表中。我有id和用户id。在ProfileController中使用哪一个似乎没有区别,相同的错误。当我通过测试UI添加注释时,我可以在db中看到它在两个字段中都正确地存储了ID。
User.find.current\u User(params[:ID])
这是什么?您必须有User.find(params[:id])我正在使用designe进行用户身份验证
current_user
是查找当前用户的助手。您在哪里定义@commentable object
params[:id]
是否确实返回整数值?是。在我的评论表中。我有id和用户id。在ProfileController中使用哪一个似乎没有区别,相同的错误。当我通过测试UI添加注释时,我可以在db中看到它在两个字段中都正确地存储了ID。
User.find.current\u User(params[:ID])
这是什么?您必须有User.find(params[:id])我正在使用designe进行用户身份验证
current_user
是查找当前用户的助手。在您定义@commentable object的地方,我确实有这样的用户应用程序记录。在上面做你的改变。我现在只是在视图中有错误<使用
时,如果要先显示最后一条注释,则必须确保用户至少有一条注释,然后编写有效的注释!如果我想检索所有的,大概我需要做一个“each”循环?我确实有这样的用户ApplicationRecord。在上面做你的改变。我现在只是在视图中有错误<使用
时,如果要先显示最后一条注释,则必须确保用户至少有一条注释,然后编写有效的注释!如果我想检索所有,大概我需要做一个“each”循环?
before_action :authenticate_user!

  def index
    @user = User.find.current_user(params[:user_id])
  end

  def show
    @comments = @commentable.comments
  end
def show
 @user = current_user #you get instance of a user that is logged in
 @comments =  @user.comments
end
class User < ApplicationRecord
  has_many :comments, as: :commentable
end
<h3>Your Latest Comment</h3>
<%=@comments.try(&:last).try(&:body)%>