我想用邮件列表创建类似邮件的东西。
用户属于邮件列表,并且邮件列表有很多用户。
我在为用户创建多个输入以显示 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_ids 而不是 list_names,我无法为此输入设置多选选项。
架构数据库:
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,所以我接受所有批评:)
谢谢