0

我对编程是全新的,甚至对 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

当我尝试打开子部门页面时,也会出现同样的错误。我不确定我需要在哪里解决这个问题。

如果有人可以让我知道我应该在哪里尝试解决这个问题。或者让我大致了解为什么会出现这样的错误会很棒!

4

0 回答 0