2016-11-17 100 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类型进行迁移)。