我正在尝试将类别添加到我的Rails应用,但不知道如何执行此操作。如何在Rails中创建类别
我有许多引脚(图像),并希望用户能够在这些引脚上分配一个类别。 ASSIGN不会创建,编辑或删除类别,只需为它们的Pin选择一个。 这意味着,当用户上传一个别针时,他可以从下拉列表中选择一个类别。
然后,另一个用户可以从菜单中选择一个类别,只列出这个类别中的引脚。
我该怎么做?从哪儿开始 ?
谢谢
我正在尝试将类别添加到我的Rails应用,但不知道如何执行此操作。如何在Rails中创建类别
我有许多引脚(图像),并希望用户能够在这些引脚上分配一个类别。 ASSIGN不会创建,编辑或删除类别,只需为它们的Pin选择一个。 这意味着,当用户上传一个别针时,他可以从下拉列表中选择一个类别。
然后,另一个用户可以从菜单中选择一个类别,只列出这个类别中的引脚。
我该怎么做?从哪儿开始 ?
谢谢
首先如果你不想在你的应用程序来管理类,那么你可以简单地在表中添加一个类别字段,并在您的应用程序类别中选择:
<%= 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
定义协会类别&引脚模型添加验证此: -
In Category Model:
has_many :pins
In Pin Model :
belongs_to :category
validates :category, presence: true
创建某些类别按类别控制器和形式(我不认为,我需要告诉你的东西,你可以做你自己)
在您的脚上传表单中添加这种选择: -
<%= f.select :category, Category.all, :prompt => "Select One" %>
希望,这将有所帮助。
您可能希望在您的类别模型中添加def to_s
方法。我相信只要在f.select
选项上使用简单的Category.all
就会显示一些奇怪的内存地址代码。其他一切都很棒!
Rails Guy you Rock,非常感谢。但我有一个问题:我做了以上所有。现在,我创建了一个类别控制器?不会允许用户创建类别吗? Sry,如果这个问题对你来说似乎太不讨人喜欢了,那么对于Rails来说,这是相当新的。谢谢 –
是的,你可以添加,删除,编辑和删除你的类别。将您的方法添加到您的控制器和视图中的模板中。现在你很好走。如果你有你想要的东西,请接受答案。谢谢。 –
我认为你没有理解我的意思!我对Rails相当陌生,并且有一些麻烦的理解。 Sry为此。现在,如果我创建一个控制器,用户可以访问site.com/categories并创建类别。我不想那样。我只想设置类别,用户应该只从列表中选择。 –