0

大家好,我有一种情况,我在表格上接受汽车维修申请的订单。我有以下型号:

Car
belongs_to :car_company

Car_company
has_many :cars

Services
attributes_accessible :car_company_id, :car_id
#virtual attributes
attributes_accessible :car_company_name, :car_reg

问题是,用户可以在一个表格中输入汽车公司的名称以及汽车的注册号。如果公司名称不存在,它会创建一个新公司并将其与服务相关联,汽车也是如此。我让这部分工作,但问题是我希望在提交此表单时,无论该汽车公司存在还是不存在,所创建的汽车都应自动与 car_company 相关联。

我很困惑如何以正确的方式完成这件事?它基本上只是为了避免必须单独输入汽车详细信息和公司详细信息才能在表格上使用它们。有什么想法吗?

4

1 回答 1

0

我看到你使用了一个非常规的模型名称。按照 Rails 中的约定,您的模型应该是CarCompany. 但是,我认为您所拥有的将起作用。

将这样的东西放在适当的控制器中可能就像你想要的那样。如果没有,请说明您想要什么。

car_company = Car_company.find_or_initialize_by_name(params[:car_company_name])
car = Car.find_or_initialize_by_registration(params[:car_registration])
car_company.cars << car
car_company.save

您实际上可以将中间两行与 结合起来car_company.cars.find_or...,但我不确定这是否有效。

我希望这会有所帮助。

于 2013-01-08T01:18:08.440 回答