如何在Rails中创建类别

Min*_*ohn 8 model-view-controller controller ruby-on-rails categories

我正在尝试将类别添加到我的Rails应用程序,但不太知道如何执行此操作.

我有很多针(图像),并希望用户能够在这些针上分配一个类别. ASSIGN不会创建,编辑或删除类别,只需为其Pin选择一个.这意味着,当用户上传图钉时,他可以从下拉列表中选择一个类别.

然后,另一个用户可以从菜单中选择一个类别,并且只列出此类别中的引脚.

我该怎么做呢?从哪儿开始 ?

谢谢

Rai*_*Guy 23

首先如果您不想在应用程序中管理类别,则只需在表格中添加类别字段,并在应用程序中选择类别:

<%= f.select :category, [ 'Box', 'Cover', 'Poster' ], :prompt => 'Select One' %>
Run Code Online (Sandbox Code Playgroud)

其次,如果要在应用程序中管理类别,则必须为其维护单独的模型和表.因此,您可以从生成模型开始:

rails g model category
Run Code Online (Sandbox Code Playgroud)

它将在您的应用程序目录中添加模型和迁移.添加内容到您的迁移:

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
Run Code Online (Sandbox Code Playgroud)

在类别和Pin模型中定义关联为此添加验证: -

In Category Model:
  has_many :pins

In Pin Model :
  belongs_to :category
  validates :category, presence: true
Run Code Online (Sandbox Code Playgroud)

按类别控制器和表格创建一些类别(我不认为,我需要告诉你那些东西,你可以自己做)

在你的pin上传表单中添加以下选项: -

<%= f.select :category, Category.all, :prompt => "Select One" %>
Run Code Online (Sandbox Code Playgroud)

希望,这会有所帮助.