I have:
class Company < ActiveRecord::Base has_many :categorizations has_many :categories, :through => :categorizations
rails c
irb(main):003:0> comp=Company.find 1 Company Load (2.0ms) SELECT "companies".* FROM "companies" WHERE "companies"."id" = 1 LIMIT 1 => #<Company id: 1, name: "company-1", vat_number: "11111111112", fiscal_code: "1111111111111112", address: "company-1", street_number: "1", zip_code: "11112", city: "company-1", prov: "CA", elected_address: "", elected_street_number: "", elected_zip_code: "", elected_city: "", elected_prov: "", tel: "", fax: "", email: "", website: "", reports: "prova", notes: "", created_at: "2012-01-16 10:19:16", updated_at: "2012-01-16 11:43:40">
rb(main):004:0> comp.categorizations Categorization Load (1.0ms) SELECT "categorizations".* FROM "categorizations" WHERE "categorizations"."company_id" = 1 => [#<Categorization id: 101, company_id: 1, category_id: 1, classification_id: nil, amount: nil, created_at: "2012-01-17 08:31:41", updated_at: "2012-01-17 08:31:41">, #<Categorization id: 1, company_id: 1, category_id: 2, classification_id: nil, amount: #<BigDecimal:7b4b3d0e,'4.0',1(4)>, created_at: "2012-01-16 10:19:17", updated_at: "2012-01-17 08:56:42">]
As you see comp has two categorizations.
In the form I have:
= semantic_form_for @company do |f| = f.inputs do = f.input :categories, :input_html => { :multiple => true, :id => "cat"} = f.inputs :name, :vat_number, :fiscal_code, :city, :prov, :address, :street_number, :elected_zip_code, :elected_city = f.inputs :elected_prov, :elected_address, :elected_street_number, :tel, :fax, :email, :website, :reports, :notes = semantic_fields_for :categorizations do |cat| = cat.inputs :id
I would expect to see the two categorizations id, instead I see nothing. Does not fields_for iterate over categorizations fields and show their values?