未定义的方法`boarding_eq&#39; for Ransack ::搜索<class:school,=“”base:=“”grouping =“”<combinator:=“”和=“”>&gt;:Ransack ::搜索</class:>

时间:2014-05-12 10:40:42

标签: ruby-on-rails ransack

我在搜索时遇到了一个奇怪的错误。它正在返回错误

undefined method `boarding_eq' for Ransack::Search<class: School, base: Grouping <combinator: and>>:Ransack::Search

有关;

<div class="form-group col-xs-6 pull-left">  
      <%= f.label :boarding_eq, " Boarding Facilities", class: 'search-label ' %>
      <%= f.select :boarding_eq, options_for_select(["","Yes", "No"]), class: 'form-control col-xs-12' %>     
</div>             

然而,它适用于所有其他输入,例如;

<div class="form-group col-xs-6 pull-left">  
     <%= f.label :year_of_establishment_eq, " Boarding Facilities", class: 'search-label ' %>
     <%= f.select :year_of_establishment_eq, options_for_select(["","Yes", "No"]), class: 'form-control col-xs-12' %>     
</div>                       

学校模型看起来像这样;

class School < ActiveRecord::Base

  attr_accessible :about, :academic_level, :country, :boarding, :district_or_province, 
                  :email_address, :fees, :gender, :information_technology, :number_of_students, 
                  :performing_arts, :phone_number, :photo_1, :photo_2, :photo_3, :photo_4, 
                  :photo_5, :physical_address, :post_address, :school_name, :sports, :town, 
                  :web_address, :year_of_establishment

  validates :about, :academic_level, :country, :boarding, :district_or_province, 
                  :email_address, :gender, :information_technology, :number_of_students, 
                  :performing_arts, :phone_number, :physical_address, :post_address, :school_name,
                  :sports, :town, presence: true

  validates :email, :with => /\A[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]+\z/, uniqueness:true

  validates :phone_number, uniqueness:true, numericality: true, length: {minimum: 12}             

  belongs_to :user

  has_many :school_events

  has_many :school_reviews

  has_many :votes

  has_one :rating

end

,模型迁移如下;

class CreateSchools < ActiveRecord::Migration
  def change
    create_table :schools do |t|
      t.integer :user_id
      t.string :school_name
      t.integer :year_of_establishment
      t.string :number_of_students
      t.string :academic_level
      t.string :phone_number
      t.string :email_address
      t.string :web_address
      t.text :physical_address
      t.integer :post_address
      t.string :country
      t.string :district_or_province
      t.string :town
      t.text :about
      t.string :fees
      t.string :sports
      t.string :information_technology
      t.string :performing_arts
      t.string :gender
      t.string :boarding
      t.text :photo_1
      t.text :photo_2
      t.text :photo_3
      t.text :photo_4
      t.text :photo_5

      t.timestamps
    end
    add_index :schools, [:user_id, :year_of_establishment]
    add_index :schools, [:school_name, :number_of_students] 
    add_index :schools, [:academic_level, :country ] 
    add_index :schools, [ :district_or_province, :fees ] 
    add_index :schools, [:boarding, :gender ]                      
  end
end

我添加了学校模型和学校迁移。

1 个答案:

答案 0 :(得分:1)

问题在于,当我更改迁移以反映:登机时,保留了具有先前设置的列。