我希望我的用户能够从预定义的类别值中进行选择。我看了看其他Stackoverflow问题,但没有完全得到它们。这是我现在的代码......
我有我的分类模型和用户创建价格(这是项目的另一个名称)。
class Category < ActiveRecord::Base
has_many :prices
def name
"#{category}"
end
end
我的价格属于类别。注意:价格表有category_id。
class Price < ActiveRecord::Base
attr_accessible :name, :date, :price
belongs_to :user
belongs_to :category
end
以下是表单和视图的外观:
表格
<%= form_for(@price) do |f| %>
<div class="field">
<%= f.label :date %><br />
<%= f.date_select :date %>
</div>
<div class="field">
<%= f.label :name %><br />
<%= f.text_field :name %>
</div>
<div class="field">
<%= f.label :price %><br />
<%= f.text_field :price %>
</div>
<div class="field">
<%= f.label :category %><br />
<%= f.collection_select :category_id, Category.all, :id, :name, :prompt => true %>
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
查看
<p><b>User:</b><%= @price.user_id %></p>
<p><b>Date:</b><%= @price.date %> </p>
<p><b>Name:</b><%= @price.price_name %></p>
<p><b>Price:</b><%= number_to_currency(@price.price) %></p>
<p><b>Category:</b><%= @price.category.name %></p>
如何在下拉菜单中创建我想要的类别?
谢谢,我非常感激!
答案 0 :(得分:2)
您可以在db / seeds.rb
中创建数据 rake db:seed
加载它们(从db / seeds.rb加载种子数据)
答案 1 :(得分:2)
您可能需要collection_select
表格帮助方法:http://api.rubyonrails.org/classes/ActionView/Helpers/FormOptionsHelper.html#method-i-collection_select
看起来像这样:
<div class="category">
<%= f.label :category %><br />
<%= f.collection_select :category, Category.all, :id, :name %>
</div>
然后在视图中:
<p><b>Category:</b><%= @price.category.name %></p>
这假设您的categories
表有一个name
字段,用于存储类别名称。