私はまったくRubyの新機能ですが、私はassosiationsに関する文書を読んでいます。私は簡単な時間を過ごしてきました(通常は簡単なGoogle検索で疑問を解決します)最近、私は一見やりやすいことで問題を抱えています。Rails form_for、カテゴリを指定してイベントを作成する
私がしようとしているのは、既存のカテゴリにリンクされたイベントを作成することです。
イベントモデル
class Event < ApplicationRecord
has_many :categorizations
has_many :categories, through: :categorizations
accepts_nested_attributes_for :categorizations
.
.
.
end
カテゴリモデル
class Category < ApplicationRecord
has_many :categorizations
has_many :events, through: :categorizations
end
分類モデル
class Categorization < ApplicationRecord
belongs_to :event
belongs_to :category
end
イベントコントローラ
ここでが、私は問題があると思うところであるフォーム、次のとおりです。
<%= form_for @event, :html => {:multipart => true} do |f| %>
<%= f.label :name %>
<%= f.text_field :name %>
<%= f.fields_for :categorizations do |categories_fields|%>
<% categories = [] %>
<% Category.all.each do |category| %>
<% categories << category.name %>
<% end %>
<%= categories_fields.label :category_id, "Category" %>
<%= categories_fields.select (:category_id, categories) %>
<% end %>
.
.
.
<%= f.submit "Create"%>
<% end %>
私は以前、いくつかのカテゴリに分類DBを移入するので、何をするために残って、イベントを作成中であり、また、その分類を作成します新しいイベントと選択された分類の両方にリンクされています。私が試したことは働いていないようです。
他のものは正常に動作しているようですが、イベントを送信しようとするたびに、分類以外のすべてのものが予想どおりに作成されます。