Ruby on rails rails:创建父级,如果没有';不存在,正在创建子记录
以下方面有什么最佳做法吗 我有很多库存的制造商型号 在我的新库存表单中,我需要一个映射到Manufacturer.name的字段,以便 在应用程序中提交新的库存表单:Ruby on rails rails:创建父级,如果没有';不存在,正在创建子记录,ruby-on-rails,nested-forms,nested-attributes,Ruby On Rails,Nested Forms,Nested Attributes,以下方面有什么最佳做法吗 我有很多库存的制造商型号 在我的新库存表单中,我需要一个映射到Manufacturer.name的字段,以便 在应用程序中提交新的库存表单: 从表单中搜索具有“名称”的制造商 如果存在,则将id分配给@inventory.manufacturer\u id并保存@inventory 如果不存在,则使用表单中的“名称”创建制造商,将id分配到@inventory.manufacturer\u id并保存 对新的库存表单进行验证 这样,如果库存表单在“名称”以外的字段
- 从表单中搜索具有“名称”的制造商
- 如果存在,则将id分配给@inventory.manufacturer\u id并保存@inventory
- 如果不存在,则使用表单中的“名称”创建制造商,将id分配到@inventory.manufacturer\u id并保存
- 对新的库存表单进行验证
- 这样,如果库存表单在“名称”以外的字段上未通过验证
- “名称”字段将重新填充用户输入的内容(但除非表单通过验证,否则不会创建新制造商)
- 这样,如果库存表单在“名称”以外的字段上未通过验证
class Inventory < ActiveRecord::Base
...
belongs_to :manufacturer
...
def manufacturer_name
manufacturer && manufacturer.name
end
def manufacturer_name=(value)
self.manufacturer = Manufacturer.find_by_name(value)
self.manufacturer ||= Manufacturer.new(:name => value)
end
...
end
类资源清册value)
结束
...
结束
在这种情况下,您应该在库存表单上输出“制造商名称”文本字段。否则-这看起来不错!!我明天执行,然后回来。谢谢