我是编程的新手,甚至是ROR的新手。我的一个页面的形式有问题。我使用javascript创建了一个更改下拉菜单的下拉菜单(例如,如果您选择一个州,下面的下拉菜单将仅显示该州的城市而不是其链接到的表上的所有城市) 。我的下拉菜单是扇区和子部门。在这之后,我得到了我所做的代码行的错误。
Undefined Method 'assert_valid_keys' for :company:symbol
我不确定这是什么意思告诉我,在网上浏览了一段时间后没有成功,我决定在这里问。
它表示错误发生在第30行(摘录中的第二行)。这是在公司表格的form.html中。
<%= f.label :subsector_id %><br />
<%= f.grouped_collection_select :subsector_id, Sector.all, :subsectors, :sector_name, :id, :subsector_name %>
这些是表格的模型。
class Company < ActiveRecord::Base
belongs_to :sector
has_many :subsectors, through: :sectors
attr_accessible :city, :company_name, :description, :employees,
:sector_id, :subsector_attributes, :subsector_id
end
class Subsector < ActiveRecord::Base
attr_accessible :sector_id, :subsector_name, :subsector_id
belongs_to :sector, :company
end
class Sector < ActiveRecord::Base
attr_accessible :sector_name
has_many :companies
has_many :subsectors
end
这是子部门的控制器。
class SubsectorsController < ApplicationController
def index
@subsectors = Subsector.all
respond_to do |format|
format.html
format.json { render json: @subsectors }
end
end
def show
@subsector = Subsector.find(params[:id])
respond_to do |format|
format.html
format.json { render json: @subsector }
end
end
def new
@subsector = Subsector.new
respond_to do |format|
format.html
format.json { render json: @subsector }
end
end
def edit
@subsector = Subsector.find(params[:id])
end
def create
@subsector = Subsector.new(params[:subsector])
respond_to do |format|
if @subsector.save
format.html { redirect_to @subsector, notice: 'Subsector was successfully
created.' }
format.json { render json: @subsector, status: :created, location: @subsector }
else
format.html { render action: "new" }
format.json { render json: @subsector.errors, status: :unprocessable_entity }
end
end
end
当我尝试打开子部门页面时,也会发生同样的错误。我不确定在哪里需要解决这个问题。
如果有人能让我知道我应该在哪里试图找出这个。或者让我大致了解为什么这样的错误会变得很棒!