0

メーリングリストでメーリングのようなものを作りたいです。

ユーザーはメーリング リストに属しており、メーリング リストには多くのユーザーがいます。

list_names を表示し、list_ids を保存するユーザー用の複数の入力を作成するのに問題があります。

私はこのコードを持っています:

  .form-group
    =u.label :mailing_list_id, :class => "col-sm-2 control-label"
    .col-sm-10
      = u.association :mailing_list, :label => false , :input_html => { :class => 'form-control' }

変更は保存されません。

このコードを次のように変更しました。

  .form-group
    =u.label :mailing_list_id, :class => "col-sm-2 control-label"
    .col-sm-10
      = u.collection_select :mailing_list_id, MailingList.all, :id, :name, :multiple => true, :label => false , :input_html => { :class => 'form-control' }

これで変更が保存されます。しかし、list_names ではなく list_ids が表示されており、この入力に複数選択オプションを設定できません。

スキーマ データベース:

create_table "mailing_lists", force: :cascade do |t|
t.string   "name"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false

終わり

create_table "users", force: :cascade do |t|
t.string   "email",                  default: "",    null: false
t.string   "encrypted_password",     default: "",    null: false
t.string   "reset_password_token"
t.datetime "reset_password_sent_at"
t.datetime "remember_created_at"
t.integer  "sign_in_count",          default: 0,     null: false
t.datetime "current_sign_in_at"
t.datetime "last_sign_in_at"
t.string   "current_sign_in_ip"
t.string   "last_sign_in_ip"
t.datetime "created_at",                             null: false
t.datetime "updated_at",                             null: false
t.boolean  "admin",                  default: false
t.string   "first_name"
t.string   "last_name"
t.string   "address"
t.float    "latitude"
t.float    "longitude"
t.integer  "mailing_list_id"

終わり

Class MailingList has_many : users
Class User belongs_to :mailing_list

結合テーブルを作成する必要がありますか?

ruby と ruby​​ on rails をゼロから学んでいるので、あらゆる批判を受け入れます :)

ありがとう

4

0 に答える 0