[Rails] user_idのwrong number of arguments (given 2, expected 0..1)の解消法
前提
deviseを導入してユーザーと投稿を紐づけるところ
(deviseなくてもいいがcurrent_userは@current_userで定義する必要あり)
やったこと
こちらを参考に**
を追加
@gear = Gear.new(
**gear_params,
user_id: current_user.id
)
**
を追加@gear = Gear.new(
**gear_params,
user_id: current_user.id
)
⇒hash key "" is not a Symbol
という謎のエラーにより撃沈
gear_paramsメソッドを使わずに全部書いてみた
@gear = Gear.new(
category: params[:category],
name: params[:name],
maker: params[:maker],
price: params[:price],
memo: params[:memo],
user_id: current_user.id
)
なぜかrollbackされデータベースに保存されず。。
ActiveRecord::RecordInvalid (バリデーションに失敗しました: Userを入力してください
(未解決)
解決方法
完全に分けて書けばハッシュをシンボルにとか考えずに済む
def create
@gear = Gear.new(
gear_params
)
@gear.user_id = current_user.id
.
.
.
end
参考にさせていただいたサイト
def create
@gear = Gear.new(
gear_params
)
@gear.user_id = current_user.id
.
.
.
end
ユーザと紐付けしたモデルから投稿を保存するのに躓いたので。備忘録として
補足
gear_paramsはこう書いています
private
def gear_params
params.require(:gear).permit(:category, :name, :maker, :price, :memo)
end
Author And Source
この問題について([Rails] user_idのwrong number of arguments (given 2, expected 0..1)の解消法), 我々は、より多くの情報をここで見つけました https://qiita.com/yamatoooki/items/bd41aca6100f4a3e0f26著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .