我有一个奇怪的问题。
我有很多模型和协会可以很好地协同工作但是当我尝试介绍current_user时,我得到了:
/ dashboard上的ActiveRecord :: ConfigurationError 未找到名为“游戏”的消息关联;也许你拼错了?
以下是一些有用的代码:
控制器:
def index
users = current_user.followed_users.collect { |user| user.id }
@userupdates = Userupdate.for_users(users, params[:page])
end
查看:
<% @userupdates.each do |userupdate| %>
Things and stuff
<% end %>
但是当我尝试让页面显示来自follow_users和current_user的内容时,就像这样..
def index
users = current_user.followed_users.collect { |user| user.id }
users.push(current_user.id)
@userupdates = Userupdate.for_users(users, params[:page])
end
...我收到上面的错误。
一些相关模型代码:
class Userupdate < ActiveRecord::Base
belongs_to :user
belongs_to :game
class User < ActiveRecord::Base
has_many :userupdates
class Game < ActiveRecord::Base
has_many :userupdates
答案 0 :(得分:1)
ActiveRecord::ConfigurationError
在rails api中解释如下。
在未正确配置关联或用户尝试与has_many或has_and_belongs_to_many关联一起使用偏移和限制时引发。
所以我认为问题是您的关联已配置。您可以再次检查关联,例如模型Userupdate
是否有user_id
和game_id
。
问题current_user
,也许你应该查看你的查询sql以查看你的includes
是否有效。如果有效,它应该在userupdates
和users
,userupdates
和games
之间进行外部联接,您将看到加载users
和{{1}在日志中加载games
之后。 userupdates
可能是唯一拥有current_user
所属userupdates
的用户。
我的所有意见,希望这可以提供帮助。