単純なhas_many関係を作成し、フォームで更新しようとしています。 ご協力いただきありがとうございます。選択フォームでHas_manyを見つけられない
モデル
class Position < ActiveRecord::Base
#position attributes
has_many :educations, :foreign_key => "position_id"
class Education < ActiveRecord::Base
belongs_to :position
EDUCATION_CHOICES = ([["Undergrad", "0"],["Master", 1],["PHD", 2]])
教育データモデルは、PK(自動)、position_id、education_value、およびタイムスタンプを持っています。 education_valueはEDUCATION_CHOICES
からの値を格納することを意味するstartupfeeder_dev=# select * from educations; id | position_id | education_value | created_at | updated_at ----+-------------+-----------------+----------------------------+---------------------------- 3 | 11 | 1 | 2012-04-27 08:26:28.077517 | 2012-04-27 16:27:50.330082 1 | 12 | 1 | 2012-04-27 00:40:22.868336 | 2012-04-27 16:30:07.123653 2 | 12 | 2 | 2012-04-27 00:45:06.613306 | 2012-04-27 16:30:07.127601 (3 rows)
フォーム:
<%= f.select(:education_ids, Education::EDUCATION_CHOICES,{ :prompt => "Please select"},
{ :multiple => true, :size => 5 }) %>
位置制御:
@position = Position.new(params[:position])
標準、まだ何も添加します。
私はいくつかのデータを手作業で追加しました。
ただし、更新と作成が正しくマッピングされていません。
これは私が私のログに取得されるものです:
Processing by PositionsController#create as HTML
パラメータ:{ "位置" => { "タイトル" => "test13"、 "education_ids" => [ ""、 "1" "authenticate_token" => "XZRsnWTKkpprCOfmekOuXdPFKbZea1bfckCsLgG3/go ="、 "utf8" => "\ 342 \ 234 \ 223"、 "description" => "test13"} "} 教育負荷(0.9ms)SELECT"教育 "。*"教育 "から"教育 "、" ID "IN(1、2)
私の問題は私が所持しているf.select :education_ids、それはeducation_valuesにマップする必要があります。
編集したフォームコードにmutli-select –