我对编程是全新的,甚至对 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
当我尝试打开子部门页面时,也会出现同样的错误。我不确定我需要在哪里解决这个问题。
如果有人可以让我知道我应该在哪里尝试解决这个问题。或者让我大致了解为什么会出现这样的错误会很棒!