我想我正在做一些命名错误,所以请帮帮我...... !!
class EchoProducerApi < ActiveRecord::Base
has_one :echo_practice_api
end
class EchoPracticeApi < ActiveRecord::Base
belongs_to :echo_producer_apis
end
@producer_data = EchoProducerApi.joins(:echo_producer_apis).select("echo_practice_apis.*,echo_producer_apis.*").paginate(:page => params[:page] , :per_page => 10)
答案 0 :(得分:0)
更改
belongs_to :echo_producer_apis
到
belongs_to :echo_producer_api
使用belongs_to :echo_producer_apis
,Rails会查找名为EchoPracticeApis
的类名,但您有EchoPracticeApi
。这就是它无法正常工作的原因。更改为关联名称将修复它。
注意:belongs_to
和has_one
的关联名称通常应为单数。
答案 1 :(得分:0)
记住Rails关系和关联是不言自明的。 belongs_to
本质上意味着对象的实例belongs_to只有一个其他类的对象,因此您应该将其指定为单数值。因此,你应该改变:
class EchoPracticeApi < ActiveRecord::Base
belongs_to :echo_producer_apis
end
致:
class EchoPracticeApi < ActiveRecord::Base
belongs_to :echo_producer_api
end