我正在为一个慈善机构开发一个rails应用程序,该机构为家庭,筹款人以及慈善机构本身提供众筹资助。现在捐款被设置为属于家庭&使用多态性的筹款人,但我不确定如何为慈善机构筹款。
我应该为慈善机构捐款吗?这对我来说感觉就像糟糕的架构,因为它将是一个单一的数据库记录。
为慈善机构捐款的最佳方式是什么?
这是我的捐款模式:
#app/models/donation.rb
class Donation < ActiveRecord::Base
has_secure_token
belongs_to :family, via: :recipient
belongs_to :fundraiser, via: :recipient
谢谢!
答案 0 :(得分:1)
在您的迁移中,您应该执行类似
的操作class Donations < ActiveRecord::Migration
def change
create_table :donations do |t|
...
t.integer :something_id # this is the record id of something
t.string :something_type # this is the model name like family or fundraiser
t.timestamps
end
end
end
现在在你的模特中
class Donation < ActiveRecord::Base
belongs_to :something, polymorphic: true
end
# repeat this in all the models that can use this polymorphic association
class Family < ActiveRecord::Base
has_many :donations, as: :something
end
我希望这有所帮助。
快乐黑客