我想我正在做一些命名错误,所以请帮助我...!!
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)
请记住,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
更改
belongs_to :echo_producer_apis
自
belongs_to :echo_producer_api
使用belongs_to :echo_producer_apis
,Rails将查找一个名为EchoPracticeApis
的类名,但是您EchoPracticeApi
。这就是它不起作用的原因。更改关联名称将修复它。
注意:通常,belongs_to
和has_one
的关联名称应为单数。