商品と口コミを紐づけたいと考えております。
下記のように、has_manyとbelongs_toniより関連づけたのですが、口コミ作成時にエラーが出てし
まいます。
food.rb
class Food < ApplicationRecord has_many :microposts, dependent: :destroy
micropost.rb
class Micropost < ApplicationRecord belongs_to :food
こちらがエラーになります。
こちらのフォームに入力いたします。
_micropost_form.html.erb
<%= form_for(@micropost) do |f| %> <%= render 'shared/error_messages', object: f.object %> <form class="form" > <div class="form-group"> <h4><%= @food.name %></h4> </div> <div class="form-group"> <%= f.text_field :title, class:"border form-control", placeholder: "タイトル"%> </div>
foodsコントローラー
def show @food = Food.find(params[:id]) end
micropostsコントローラー
def create @dogs = Dog.all @micropost.food_id = Food.find_by!(id: params[:id]) @micropost = current_user.microposts.build(micropost_params) @micropost.save flash[:success] = "投稿が完了しました!" redirect_to root_url
routes
GET /foods/:id(.:format) foods#show POST /microposts(.:format) microposts#create DELETE /microposts/:id(.:format) microposts#destroy
foods#showでフォームが表示され、入力しmicroposts#createを実行するといった流れです。
初歩的な質問で申し訳ありません。
URLに書かれているparamsがサーバに保存されておらずnilになっていましたので
routesの問題かと思い6時間ほどやりましたが、なかなかうまくいきそうにないのでどうかお力をお貸しいただければと思います。
よろしくお願いいたします。
あなたの回答
tips
プレビュー