Ruby on rails et说,由于保险提供者被定义为拥有许多物品,你最终会得到一个物品的集合。这更有意义吗?我现在开始意识到问题所在了——我需要一个保险供应商提供一个最长(:生效日期)的保险。类似于client.insurance\u providers.maximum(:ef

Ruby on rails et说,由于保险提供者被定义为拥有许多物品,你最终会得到一个物品的集合。这更有意义吗?我现在开始意识到问题所在了——我需要一个保险供应商提供一个最长(:生效日期)的保险。类似于client.insurance\u providers.maximum(:ef,ruby-on-rails,Ruby On Rails,et说,由于保险提供者被定义为拥有许多物品,你最终会得到一个物品的集合。这更有意义吗?我现在开始意识到问题所在了——我需要一个保险供应商提供一个最长(:生效日期)的保险。类似于client.insurance\u providers.maximum(:effective\u on).copay。请留意另一个问题,如果我想不出来的话。谢谢你的帮助@Ramy是的,但您是在客户机模型上调用它,而不是在保险提供者关联上调用它。正如我和福伊特所说,由于保险提供者被定义为拥有许多保险对象,你最终会得到一个对


et说,由于保险提供者被定义为拥有许多物品,你最终会得到一个物品的集合。这更有意义吗?我现在开始意识到问题所在了——我需要一个保险供应商提供一个最长(:生效日期)的保险。类似于
client.insurance\u providers.maximum(:effective\u on).copay
。请留意另一个问题,如果我想不出来的话。谢谢你的帮助@Ramy是的,但您是在
客户机
模型上调用它,而不是在
保险提供者
关联上调用它。正如我和福伊特所说,由于保险提供者被定义为拥有许多保险对象,你最终会得到一个对象集合。这更有意义吗?我现在开始意识到问题所在了——我需要一个保险供应商提供一个最长(:生效日期)的保险。类似于
client.insurance\u providers.maximum(:effective\u on).copay
。请留意另一个问题,如果我想不出来的话。谢谢你的帮助!
class Client < ActiveRecord::Base
  has_many :insurance_provider
end
1.9.3p448 :005 > Client.joins(:insurance_provider).first.insurance_provider

  Client Load (1.2ms)  SELECT "clients".* FROM "clients" INNER JOIN "insurance_providers" ON "insurance_providers"."client_id" = "clients"."id" ORDER BY "clients"."id" ASC LIMIT 1
  InsuranceProvider Load (0.4ms)  SELECT "insurance_providers".* FROM "insurance_providers" WHERE "insurance_providers"."client_id" = $1  [["client_id", 6]]
 => #<ActiveRecord::Associations::CollectionProxy [#<InsuranceProvider id: 2, client_id: 6, name: "Blue Cross Blue Shield", member_id: "123456789", copay: 20, effective_on:     "2013-07-08", created_at: "2013-10-23 14:40:00", updated_at: "2013-10-23 14:40:00">]> 


1.9.3p448 :006 > Client.joins(:insurance_provider).first.insurance_provider.copay

  Client Load (1.3ms)  SELECT "clients".* FROM "clients" INNER JOIN "insurance_providers" ON "insurance_providers"."client_id" = "clients"."id" ORDER BY "clients"."id" ASC LIMIT 1
NoMethodError:   InsuranceProvider Load (0.5ms)  SELECT "insurance_providers".* FROM "insurance_providers" WHERE "insurance_providers"."client_id" = $1  [["client_id", 6]]
undefined method `copay' for #<ActiveRecord::Associations::CollectionProxy::ActiveRecord_Associations_CollectionProxy_InsuranceProvider:0x007fae3e8e9d80>
    from /Users/rabdelaz/.rvm/gems/ruby-1.9.3-p448/gems/activerecord-4.0.0/lib/active_record/relation/delegation.rb:121:in `method_missing'
    from /Users/rabdelaz/.rvm/gems/ruby-1.9.3-p448/gems/activerecord-4.0.0/lib/active_record/relation/delegation.rb:68:in `method_missing'
    from /Users/rabdelaz/.rvm/gems/ruby-1.9.3-p448/gems/activerecord-deprecated_finders-1.0.3/lib/active_record/deprecated_finders/collection_proxy.rb:22:in `method_missing'
    from (irb):6
    from /Users/rabdelaz/.rvm/gems/ruby-1.9.3-p448/gems/railties-4.0.0/lib/rails/commands/console.rb:90:in `start'
    from /Users/rabdelaz/.rvm/gems/ruby-1.9.3-p448/gems/railties-4.0.0/lib/rails/commands/console.rb:9:in `start'
    from /Users/rabdelaz/.rvm/gems/ruby-1.9.3-p448/gems/railties-4.0.0/lib/rails/commands.rb:64:in `<top (required)>'
    from bin/rails:4:in `require'
    from bin/rails:4:in `<main>'
class Client < ActiveRecord::Base
  has_many :insurance_providers
end