【发布时间】:2015-04-20 07:35:49
【问题描述】:
我有一个带有代码属性(字符串)的 DiscountCode 模型。我的预订模型 belongs_to :discount_code。在 Booking 表单中,我不想放一个下拉列表来选择 DiscountCode,我只想要一个字符串字段(使用 SimpleForm):
f.input :discount_code
用户可以在其中键入例如“XMAS2015”。我在控制器的 DiscountCode 对象中转字符串:
new_params[:discount_code] = DiscountCode.find_by code: params[:booking][:discount_code]
...我使用 new_params 来构建我的 Booking。如果没有错误,一切顺利,但如果有并且再次显示表单,则使用对象而不是代码填充字符串字段:
#<DiscountCode:0x0000000baf2d68>
我不能像这样把它转回来:
@booking.discount_code = @booking.discount_code.code
因为@booking.discount_code 应该是 DiscountCode 而不是字符串。
有没有办法将对象改回表单中的字符串,或者我应该使用另一个字段名称,如 discount_code_text?
【问题讨论】:
标签: ruby-on-rails forms