在EchoProducerApi上找不到名为'echo_producer_apis'的关联;也许你拼错了?



我想我正在做一些命名错误,所以请帮助我...!!

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_tohas_one的关联名称应为单数

最新更新