我遇到了分组收集选择的问题。
<%= f.collection_select :id, RequestType.order(:typeName), :id,
:typeName,include_blank:true %>
<%= f.grouped_collection_select :id, RequestType.order(:typeName),
:RequestSubTypes, :typeName, :RequestType_id, :typeName,
include_blank:true %>
以下是我的模特
class RequestSubType < ActiveRecord::Base
belongs_to :RequestType
end
class RequestType < ActiveRecord::Base
has_many :RequestSubTypes
end
t.integer "RequestType_id"
SQLite3::SQLException: no such column:
request_sub_types.request_type_id: SELECT "request_sub_types".* FROM
"request_sub_types" WHERE "request_sub_types"."request_type_id" = ?
答案 0 :(得分:1)
你有这条线是完全错误的。
<%= f.grouped_collection_select :id, RequestType.order(:typeName),
:RequestSubTypes, :typeName, :RequestType_id, :typeName,
include_blank:true %>
错误#1
模型类名称应该是单数,而不是复数,即 RequestSubType
不是 RequestSubTypes
强>
错误#2
模型类名称不能用作 symbols
:RequestSubTypes #wrong
错误#3
字段名称或属性应位于snake_case,即 request_type_id
而非 RequestType_id
< / p>
运行包含rake db:rollback
的迁移RequestType_id
。将其更改为request_type_id
,然后执行rake db:migrate