前提・実現したいこと
いつもお世話になります。
ユーザーがある施設を見学した感想の「メモ」を
フォームから登録する機能をform_forで作ろうとしています。
発生している問題・エラーメッセージ
投稿操作はできるのですが、
投稿した結果DBを確認すると、そのデータがNULLで表示されており、
なぜデータが受け取れないのかの原因が自分で見つけられずにおりますorz
もし原因の想定がつく方がいらしゃいましたら、ご指摘願えないでしょうか。
何卒よろしくお願いいたします。
該当のソースコード
<routes.rb>(関連箇所のみ抜粋)
#お気に入りページ(ユーザーがメモを登録するページ) get 'users/:id/nurseries/:nursery_id' => 'likes#show', as: 'like' #メモ登録機能 post 'users/:id/nurseries/:nursery_id/memos' => 'memos#create', as: 'memo_create'
-以下お気に入りページ
(ユーザーがメモ登録するページ)のコントローラーとviewのコードです
<like_controller.rb>
def show @like = Like.find_by(nursery_id: like_params[:nursery_id], user_id: params[:id]) @memo = Memo.new end
<likes/show.html.erb>
<% if current_user %> <%= form_for @memo, url: memo_create_path do |f| %> <h4>メモ </h4> <%= f.text_field :memo, :placeholder => "良い景色だった", :size=>"100" %> <%= f.submit '送信'%> <% end %>
-以下memoをクリエイトするmemos_controllerのコードです
<memos_controller.rb>
def create @memo = Memo.create(memo: memo_params[:memo], nursery_id: memo_params[:nursery_id], user_id: current_user.id) end private def memo_params params.permit(:nursery_id, :memo) end end
試したこと
binding.pryを
createアクションの前に書いてみたところ、
以下の通りmemoはやはり取得できておりませんでした。ただその原因が自分でつきとめられずにおります。
pry(#<MemosController>)> memo_params
Unpermitted parameters: :utf8, :authenticity_token, :memo, :commit, :id
=> <ActionController::Parameters {"nursery_id"=>"1"} permitted: true>
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/02/08 04:54