我在Rails中设置模型关系时遇到问题。
我有一个用户。用户可以有很多请求。请求可以有一个响应。我设置了这样的模型:
Class User < ActiveRecord::Base
has_many :user_requests
has_many :request_responses, through: :user_requests
end
Class UserRequest < ActiveRecord::Base
belongs_to :user
has_one :request_response
end
Class RequestResponse < ActiveRecord::Base
belongs_to :user_request
end
每当我尝试做类似的事情时
UserRequest.request_response.id
我得到错误,表示关系不存在或表中不存在列。我是否错误地建立了我的人际关系?
答案 0 :(得分:1)
您将收到错误:
UserRequest.request_response.id
由于:
request_response
应该是UserRequest
。request_responses
,而不是request_response
,因此调用user. request_response
也无效。致电user.request_response_ids
,其中user = User.first
。