我有两个模特"活动"和"类别"。事件模型具有整数类型"类别" that belongs_to" Category"。类别模型具有关键:存储这些类别的值,例如1:医疗2:健康3:食品等
class Event < ActiveRecord::Base
belongs_to :category
end
class Category < ActiveRecord::Base
has_many :events, foreign_key: "category"
end
我的架构是:
create_table "categories", force: true do |t|
t.string "name"
t.datetime "created_at"
t.datetime "updated_at"
end
create_table "events", force: true do |t|
t.string "name"
t.integer "category"
t.datetime "created_at"
t.datetime "updated_at"
end
我正在使用简单的表单,也许这是我出错的地方,但我正在返回正确的值,但只是作为一个字符串。例如,如果我从下拉菜单中选择医疗,那么将返回正确的&#34; 1&#34;但只是一个字符串,而不是所需的整数。
/视图/事件
<%= f.input :category, as: :select, collection: Category.all, include_blank: "Select a category..." %>
我的下拉列表正确显示并返回正确的值但是作为字符串而不是整数。有没有最好的方法来解决这个问题?
答案 0 :(得分:4)
您应该拥有f.input :category_id
,这就是提交的内容,您选择的类别的ID,而不是类别本身。