Grouped_collection_select Rails 4问题

时间:2015-03-11 10:43:04

标签: ruby-on-rails

我遇到了分组收集选择的问题。

<%= 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
在我的request_sub_types表中,我有

t.integer  "RequestType_id"
用于引用RequestType模型。 我有一个问题:

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" = ?
我正在使用RailsCast的教程做这个。

1 个答案:

答案 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