Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/21.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:a:a:a:a:a_Ruby On Rails_Ruby_Activerecord_Relationship - Fatal编程技术网

Ruby on rails Rails:a:a:a:a:a

Ruby on rails Rails:a:a:a:a:a,ruby-on-rails,ruby,activerecord,relationship,Ruby On Rails,Ruby,Activerecord,Relationship,我在Rails中设置模型关系时遇到问题 我有一个用户。一个用户可以有许多请求。一个请求可以有一个响应。我的模型设置如下: Class User < ActiveRecord::Base has_many :user_requests has_many :request_responses, through: :user_requests end Class UserRequest < ActiveRecord::Base belongs_to :user

我在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
因为:

  • request\u response
    应该是
    UserRequest
    的类方法
  • 关联定义为
    request\u response
    ,而不是
    request\u response
    ,因此调用
    用户。请求与响应
    也不起作用
  • 怎么办?
    调用
    user.request\u response\u id
    where
    user=user.first

    能否同时显示所有三个表的db模式?只有关系ID可以工作。模式还是迁移?如果您在迁移文件中定义了db模式,请显示这些文件:)您正在调用类的实例方法吗?@RubyRacer我想我可能是。。。
    UserRequest.request_response.id