0
私のフォームに問題があります。「メンバー」テーブルにエントリを作成したい、各メンバーが「年」に接続されていますが、選択に不一致が続いています今年の。アソシエーションのタイプミスマッチ、f.select rails
これは私のフォームです:
<div class="field">
<%= f.label :name %><br>
<%= f.text_area :name %>
</div>
<div class="field">
<%= f.label :nickname %><br>
<%= f.text_area :nickname %>
</div>
<div class="field">
<%= f.label :year %>
<%= f.select :year, options_for_select(@years.all.map{|y| [y.year,y.id]}) %>
</div>
<div class="actions">
<%= f.submit %>
</div>
そしてここでは、モデルは以下のとおりです。
class Member < ApplicationRecord
belongs_to :year
mount_uploader :image, ImageUploader
end
class Year < ApplicationRecord
has_many :members, dependent: :destroy
end
私は、私は次のエラーを取得する提出しようとすると:期待
年(#70050157849460) 、Stringのインスタンスである "1"を取得(#9412380)
どこが間違っていましたか?
編集:ここでは
が、私はチェックしませんでしたが、最初にあなたがyear_id言う必要いきますコントローラ
class MembersController < ApplicationController
def home
@members = Member.all
end
def new
@member = Member.new
@years = Year.all
end
def create
@member = Member.new(member_params)
if @member.save
flash[:success] = "Member Created"
redirect_to root_path
else
render 'form'
end
end
private
def member_params
params.require(:member).permit(:name,:nick,:position,:image,:year)
end
end
フルコントローラコードを表示してください。 –