表单视图中的assert_valid_keys

时间:2013-07-19 13:07:38

标签: javascript ruby-on-rails

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

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

如果有人能让我知道我应该在哪里试图找出这个。或者让我大致了解为什么这样的错误会变得很棒!

0 个答案:

没有答案