##メモアプリの中にRspecを実装しています。
しかしcreate
のテストがうまく行かず、以下のようなエラーが出ています。
1) MemomemosController POST /memos メモが作成できる Failure/Error: expect(post :create, @params).to change { Memomemo.count }.by(1) NoMethodError: undefined method `symbolize_keys' for #<Memomemo:0x0000000003521158>`
該当ファイルは以下になります。
######memomemos_controller_spec.rb
require 'rails_helper' describe MemomemosController do describe "POST /memos" do before do @params = build(:memomemo) end it "メモが作成できる" do expect(post :create, @params).to change { Memomemo.count }.by(1) end end end
######factories/memomemos.rb
FactoryBot.define do factory :memomemo do title { "testタイトル" } content { "test内容" } end end
######memomemos_controller.rb
省略 def create @memomemo = Memomemo.new(memomemo_params) if @memomemo.save flash[:success] = 'メモの保存に成功しました' redirect_to @memomemo else flash.now[:danger] = 'メモの保存に失敗しました' render :new end end def memomemo_params params.require(:memomemo).permit(:title, :content) end
memomemos_controller_spec.rb内の
@params = build(:memomemo)
の部分を
@params = attributes_for(:memomemo)
に変えたりしましたが、解決できずです。
どなたかご教授いただけると幸いです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/10/29 23:02
2019/10/30 02:28