質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Heroku

HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

保存

保存(save)とは、特定のファイルを、ハードディスク等の外部記憶装置に記録する行為を指します。

Q&A

解決済

1回答

757閲覧

param is missing or the value is emptyの対応について

akanenne

総合スコア6

Heroku

HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

保存

保存(save)とは、特定のファイルを、ハードディスク等の外部記憶装置に記録する行為を指します。

0グッド

0クリップ

投稿2020/02/27 04:58

前提・実現したいこと

active storageを使って、画像をアップデートしたい

発生している問題・エラーメッセージ

ActionController::ParameterMissing in WorksController#create

param is missing or the value is empty: work

該当のソースコード

Rails

1 2work_controller 3 4 def create 5 Work.create(create_params) 6 end 7 8 private 9 10 def create_params 11 params.require(:work).permit(:title, :year, :detail, :image1 []) 12 end 13

試したこと

active storageをインストールし、保存を設定したいが、
どうしてもこのようなエラーが出てしまう

補足情報(FW/ツールのバージョンなど)

Rails初心者で申し訳ないですが、何卒よろしくお願いいたします。

ここにより詳細な情報を記載してください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

maisumakun

2020/02/27 05:21

ビューはどのように書きました?
akanenne

2020/02/27 06:45

ご回答ありがとうございます from_tagだったからでしたでしょうか… <main class="contents"> <%= form_tag('/works', method: :post) do %> <h3> 投稿する </h3> <%= form_with model: @work, local: true do |form| %> <%= form.text_area :title %><br> <%= form.text_area :year %><br> <%= form.text_area :details %><br> <%= form.file_field :image1 %><br> <%= form.submit %> <% end %> </main>
guest

回答1

0

ベストアンサー

以下でエラー解消されますか?

ruby

1#params.require(:work).permit(:title, :year, :detail, :image1 []) 2params.permit(:title, :year, :detail, :image1 [])

view側でform_with(もしくはform_for)の書き方を修正する必要があるかも知れないです。

投稿2020/02/27 06:11

mongolia

総合スコア133

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

akanenne

2020/02/27 06:45 編集

ご回答ありがとうございます wrong number of arguments (given 0, expected 1..2) というエラーになってしまいます。
mongolia

2020/02/27 06:53

<main class="contents"> <%= form_tag('/works', method: :post) do %> <h3> 投稿する </h3> <%= form_with model: @work, local: true do |form| %> <%= form.text_area :title %><br> <%= form.text_area :year %><br> <%= form.text_area :details %><br> <%= form.file_field :image1 %><br> <%= form.submit %> <% end %> </main> ======= viewファイルは上記のような感じですか? だとすると、以下で動くかも。 1. <%= form_tag('/works', method: :post) do %>は不要な気がします。 2. params.require(:work).permit(:title, :year, :detail, :image1) にする。
akanenne

2020/02/27 06:59 編集

早い対応、ありがとうございます しかし、やはり params.require(:work).permit(:title, :year, :detail, :image1) にエラーがかかって、 param is missing or the value is empty: workというエラーが出てしまいます。
mongolia

2020/02/27 07:13

もしかしたら、出力されるHTMLが、 <textarea name="title"></textarea> になってないですかね? <textarea name="work[title]"></textarea> みたくなるのが正しい気がします。 1.@workには、Workモデルのインスタンスが設定できてますか? <%= form_with model: @work, local: true do |form| %>の部分。
akanenne

2020/02/27 12:39

HTMLを以下に書き換えてみました <main class="contents"> <h3> 投稿する </h3> <%= form_with model: @work, local: true do |form| %> <textarea name="work[title]"></textarea> <textarea name="work[year]"></textarea> <textarea name="work[detail]"></textarea> <!--<%= form.text_area :title %><br>--> <!--<%= form.text_area :year %><br>--> <!--<%= form.text_area :details %><br>--> <%= form.file_field :image1 %><br> <%= form.submit %> <% end %> </main> ============= 発生したエラー No route matches [POST] "/works/new"
akanenne

2020/02/27 12:41

work.rb の設定は以下です class Work < ApplicationRecord has_many_attached :images end それ以外のlocalのところは、Activestrageをインストールしたまま他のファイルをいじっていません>_< もしわかりましたらよろしくお願いいたします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問