#環境
- Rails6.1
contoller.rb
def update
user = User.find(params[:id])
user.update_attributes
end
UPDATE文が出ずにエラーなりました。
ターミナル
NoMethodError (undefined method `update_attributes' for #<Reaction:0x00007fd4e260db78>
Did you mean? update_attribute):
エラーで動かなかったの調べてみると
update_attributes
が非推奨になったみたいで思わぬ挙動をしてました。
結論から言いますとupdate
に変更したら問題なく動きました。
contoller.rb
def update
user = User.find(params[:id])
user.update_attributes #非推奨になりました。
end
def update
user = User.find(params[:id])
user.update #上記と同じ実装方法になります。
end
rails 6.0まではupdate_attributes
使えるらしいですが
rails 6.1で使えなくなってるので色々調べて見ました。
#参考
非推奨のActiveRecord::Base#update_attributesおよびActiveRecord::Base#update_attributes!を削除
Railsガイドより