我堆疊了幾天,嘗試了一切。不能得到has_many和下劃線工作
我試圖做一個簡單的有很多關聯,但它拒絕工作:
我需要的是每個ORB獲得與之相關聯的orb_type。
我產生支架:
rails generate scaffold orb_type nome
rails generate scaffold orb nome:string descr:text orb_type_id:integer
使耙分貝:遷移,
變化模型:
class Orb < ActiveRecord::Base
has_many :orb_types
validates_associated :orb_types
attr_accessible :descr, :nome, :orb_type_id
validates :nome, uniqueness: true, presence: true
end
class OrbType < ActiveRecord::Base
attr_accessible :nome
validates :nome, uniqueness: true, presence: true
belongs_to :orb
end
然後tryed,使其工作:
$ rails c
1.9.3-p448 :001 > tipo = OrbType.new nome: "Planeta"
1.9.3-p448 :002 > tipo.save
1.9.3-p448 :003 > tipo = OrbType.find(1)
1.9.3-p448 :004 > planeta = Orb.new nome:"Testname", descr: "TestDescr"
1.9.3-p448 :005 > planeta.orb_type = tipo
and in the最後一行我得到的錯誤:
NoMethodError: undefined method `each' for #<OrbType:0x00000003dc02a0>
什麼是交易?下劃線和導軌「公約」給我頭痛。
我看到很多另一個類似的話題,但他們的解決方案都沒有工作!
你是第一個真正幫助我的人!很多比! – Techmago