helper collection_select的值被调用两次

时间:2016-02-23 21:19:23

标签: ruby-on-rails ruby

我有型号类别:

class Category < ActiveRecord::Base
    has_many :projects
end

模型项目:

class Project < ActiveRecord::Base
  belongs_to :category

  validates :title, :description, :category, :skill, :payment, presence: true
  validates :price, numericality: { only_integer: true }

  PRICE_CATEGORIES = ['cat_price1', 'cat_price2', 'cat_price3', 'cat_price4']

end

项目/新

<%= form_for @project, url: {action: 'create'} do |f| %>
<p>
  <%= f.label 'Titel' %>
  <%= f.text_field :title %>
</p>
<P>
  <%= f.label 'Budget' %>
  <%= f.text_field :price %>

  für

  <%= f.select :price_category, Project::PRICE_CATEGORIES %>
</P>
<p>
  <%= f.label 'Beschreibung' %>
  <%= f.text_area :description %>
</p>
<p>
  <%= f.label 'Kategorie' %>
  <%= f.collection_select :category_id, Category.all, :id, :name %>
</p>

<P>
  <%= f.submit 'erstellen' %>    
</P>

<% end %>

schema.rb:

create_table "categories", force: :cascade do |t|
    t.string   "name"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "projects", force: :cascade do |t|
    t.string   "title"
    t.text     "description"
    t.integer  "price"
    t.string   "skill"
    t.string   "location"
    t.string   "payment"
    t.boolean  "anonymity"
    t.string   "file"
    t.integer  "category_id"
    t.datetime "created_at",     null: false
    t.datetime "updated_at",     null: false
    t.string   "price_category"
  end

调用&lt;%= f.collection_select:category_id,Category.all,:id,:name%&gt;

下拉列表中的所有项目都显示两次。不能解决,为什么。 例如:

  • cat1
  • cat2
  • cat3
  • cat1
  • cat2
  • CAT3

谢谢你的帮助。

0 个答案:

没有答案