我是rails的新手,我想在这个问题上得到你的帮助。
我有两个表帐户和交易。每笔交易都应有账户和账户。因此,当我添加交易时,我将从账户表中选择两次以获得FROM和TO账户(在新交易表中列出选择)。
我正在使用scaffold生成代码,我只能向表中添加一个关系。你是如何两次与帐户表生成关系的
这是代码:
$rails g scaffold account a_name:string a_type:string a_amount:float
$rails g scaffold Transaction account_id:integer account_id:integer t_amount:float t_date:date t_desc:text
答案 0 :(得分:2)
您需要在交易表account_id
和from_account_id
中添加两个to_account_id
列,否则您将如何区分这两个列?
rails g scaffold Transaction to_account_id:integer from_account_id:integer
然后,在您的交易模型中,您需要正确定义关系:
belongs_to :from_account, class_name: 'Account'
belongs_to :to_account, class_name: 'Account'
作为旁注,你真的应该避免使用脚手架,因为它为你做了太多的决定和概括。您可以使用单个发电机。
rails g model Transaction from_account_id:integer to_account_id:integer
rails g controller transactions