1
我有兩個模型,App
和User
,其中App
的創建者是User
。如何用rails中的外鍵別名創建燈具?
# app.rb
class App < ActiveRecord::Base
belongs_to :creator, class_name: 'User'
end
# user.rb
class User < ActiveRecord::Base
has_many :apps, foreign_key: "creator_id"
end
如何爲此創建燈具?
我想:
# apps.yml
myapp:
name: MyApp
creator: admin (User)
# users.yml
admin:
name: admin
但是,這並不工作,因爲關係是一個別名外鍵,而不是多態類型。在創建者行中省略(User)
也不起作用。
我已經看到關於外鍵和燈具的幾個線程,但沒有一個真的對此做出響應。 (許多人建議使用factory_girl或機械師或其他替代裝置,但是我在其他地方看到他們有類似或其他問題)。
謝謝,@安德魯罪人!我意識到我沒有爲測試環境調用燈具負載。我現在稱之爲'rake db:fixtures:load RAILS_ENV = test',然後調用'rails c test',然後在刪除'(User)'後綴後它工作正常。 – Anand 2014-10-29 17:50:08