我在商务应用程序中有一个表单,用户可以在其中添加商品列表。
在此创建#项目表单中,我希望用户能够(从下拉菜单中)选择其定价的货币。
(我创建了一个货币模型,视图和控制器,以便管理员可以添加货币类型。(我希望管理员能够限制货币类型)。)
以下是迁移文件:
class CreateCurrencies < ActiveRecord::Migration
def change
create_table :currencies do |t|
t.string :name
t.string :symbol
t.timestamps null: false
end
end
end
class AddCurrencyToApartments < ActiveRecord::Migration
def change
add_column :apartments, :currency_id, :integer
add_index :apartments, :currency_id
end
end
我在模型中将Currency和Item与belongs_to / has_many关系连接起来。然后,我在create#item表单中实现了一个下拉菜单,用户可以在其中选择货币。
<%= f.select( :currency, Currency.all.collect {|u| [ raw(u.symbol), u.id ] }) %>
我的问题是,为什么不将currency_id保存到项目模型的新实例?
它确实出现在params哈希:
{"utf8"=>"✓", "authenticity_token"=>"...w==", "item"=>{"Name"=>"Test Item", "from_date(1i)"=>"2016", "from_date(2i)"=>"8", "currency"=>"2", "price"=>"7"..... "description"=>""}, "commit"=>"Create Item"}
但是不会在提交中执行保存:
0.2ms) begin transaction SQL (1.0ms) INSERT INTO "items" ("name", "from_date", … "created_at", "updated_at") VALUES (?, ?, ?, ?, ?....) [["name", "Test Item"], ["from_date", "2016-08-11"], ["created_at", "2016-08-11 15:07:50.146172"], ["updated_at", "2016-08-11 15:07:50.146172"]]
我也无法从rails控制台成功将currency_id添加到公寓。
提前致谢!
答案 0 :(得分:0)
将下拉菜单更改为&lt;%= f.select(:currency_id ,Currency.all.collect {| u | [raw(u.symbol),u.id]})% &GT;