0

Campaign所有者 によって作成された3 つのモデル があり、 によってUser表される多くのメンバー (ユーザー) があるとしますMembership

最初のキャンペーンはこのステートメントで設定されます

  belongs_to :user
  has_many :memberships
  has_many :users, :through => :memberships
  accepts_nested_attributes_for :memberships

このステートメントを持つ 2 番目のユーザー

has_many :memberships
has_many :campaigns, :through => :memberships

3番目のメンバーシップ

belongs_to :user
belongs_to :campaign

ここで、キャンペーンの作成時にネストされたフォームを定義して、キャンペーンの作成者がキャンペーンの一部のメンバーであるすべてのユーザーから選択できるようにしたいと考えています。だから私は設定した

= form_for @campaign do |f|
    = f.text_field :owner, placeholder: "Example Owner", class: "xxlarge"
    - @users.each_value do |value|
        = f.fields_for :memberships do |ff|
            = ff.check_box :user_id

コントローラーのメソッドでどこ@usersに設定されているかnewCampaign

@users = User.all

問題は、エラーメッセージがあることです

113 ミリ秒で 500 内部サーバー エラーを完了

ActionView::Template::Error (Illegal nesting: nesting within plain text is illegal.):
    20:       = f.text_field :owner, placeholder: "Example Owner", class: "xxlarge"
    21: 
    22:   @users.each_value do |value|
    23:     = f.fields_for :memberships do |ff|
    24:         = ff.check_box :user_id

私はレールにまったく慣れていないので、どこが間違っているのかわかりません

4

2 に答える 2