我正在尝试向我的Rails应用添加类别,但不太知道如何执行此操作。
我有许多针脚(图像),并希望用户能够在这些针脚上分配类别。 ASSIGN 不会创建,编辑或删除类别,只需为其Pin选择一个。 这意味着,当用户上传图钉时,他可以从下拉列表中选择一个类别。
然后,另一个用户可以从菜单中选择一个类别,并且只列出此类别中的引脚。
我该怎么做?从哪里开始?
谢谢
答案 0 :(得分:23)
首先如果您不想在应用程序中管理类别,那么您只需在表格中添加类别字段并在应用程序中选择类别:
<%= f.select :category, [ 'Box', 'Cover', 'Poster' ], :prompt => 'Select One' %>
其次,如果要在应用程序中管理类别,则必须为其维护单独的模型和表。因此,您可以从生成模型开始:
rails g model category
它将在您的应用程序目录中添加模型和迁移。添加内容到您的迁移:
class CreateCategories < ActiveRecord::Migration
def change
create_table :categories do |t|
t.string :name
t.text :description
## you can add more stuff as per your requirements
t.timestamps
end
end
end
定义类别中的关联&amp; Pin模型为此添加验证: -
In Category Model:
has_many :pins
In Pin Model :
belongs_to :category
validates :category, presence: true
按类别控制器和表单创建一些类别(我不认为,我需要告诉你那些东西,你可以自己做)
在您的图钉上传表单中添加以下选项: -
<%= f.select :category, Category.all, :prompt => "Select One" %>
希望,这会有所帮助。
答案 1 :(得分:0)
您可能想在Category模型上添加def to_s
方法。我相信它只会在Category.all
选项上使用普通f.select
来显示一些奇怪的内存地址代码。其他一切看起来都很棒!