2016-11-17 99 views
0

我協會對我的學校型號:錯誤的名稱

class School < ActiveRecord::Base 

    belongs_to :city 
    has_many :sclasses 
    has_many :users, through: :sclasses 

    validates :name, presence: true 
    validates :icon_url, length: { maximum: 100 } 

end 

這是學校部分#顯示鑑於這點讓我一個問題:

<%= search_form_for @search, url: school_path(@city, @school) do |f| %> 
    <div class="row input-field"> 
     <div class="text-center"> 
      <%= f.text_field :full_name_cont, placeholder: "Pretraga učenika" %> 
     </div> 
    </div> 
    <div class="row input-field"> 
     <div class="text-center"> 
      <%= f.select :generation_eq, options_from_collection_for_select(@school.users.order("generation DESC").select(:generation).uniq, "generation", "generation", @search.generation_eq), {}, { :class => "selectpicker" } %> 
     </div> 
    </div> 
    <div class="row input-field"> 
     <div class="text-center"> 
      <%= f.submit "Traži", class: "btn btn-default" %> 
     </div> 
    </div> 
<% end %> 

在這部分我有搜索這是有用戶表單時的模型結構是這樣的:

City has_many School has_many Users 

現在看起來是這樣的:

City has_many School has_many Sclasses has_many Users 

而且我得到這個錯誤:

PG::UndefinedColumn: ERROR: column users.sclass_id does not exist 
LINE 1: ...generation" FROM "users" INNER JOIN "sclasses" ON "users"."s... 
                  ^
HINT: Perhaps you meant to reference the column "users.sclass". 
: SELECT DISTINCT "users"."generation" FROM "users" INNER JOIN "sclasses" ON "users"."sclass_id" = "sclasses"."id" WHERE "sclasses"."school_id" = $1 ORDER BY generation DESC 

我應該如何更改f.select參數,使這項工作正常?

回答

0

問題解決了;我檢查了db/schema.rb,並且有一個整數列叫做sclass而不是sclass_id(我可能忘了用references類型進行遷移)。