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

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

新規登録して質問してみよう
ただいま回答率
85.35%
Ruby on Rails 6

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

Q&A

解決済

1回答

9599閲覧

Railsのエラー「wrong number of arguments (given 1, expected 0)」について

nakatievent

総合スコア38

Ruby on Rails 6

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

0グッド

0クリップ

投稿2020/11/13 16:18

編集2020/11/14 03:11

質問お願いします。

現在、Railsrailsで画像アップロードの方法
を参考に画像のアップロード機能を実装しようとしているのですが、下記のようなエラーが発生しています。

イメージ説明

wrong number of arguments (given 1, expected 0)の意味を調べたところ、

引数の数が間違っています(現状0個です、正常な引数の数は1個以上です) という意味

らしいのですが、正直よく分からないので分かる方教えていただくと助かります。

↓エラーの起きているファイル**

#リサイズ、画像形式を変更に必要 include CarrierWave::RMagick #上限変更 proc :resize_to_limit => [700, 700] #JPGで保存 proc :convert => 'jpg' #サムネイルを生成 version :thumb do process :resize_to_limit => [300, 300] end # jpg,jpeg,gif,pngのみ def extension_white_list %w(jpg jpeg gif png) end #ファイル名を変更し拡張子を同じにする def filename super.chomp(File.extname(super)) + '.jpg' end #日付で保存 def filename if original_filename.present? time = Time.now name = time.strftime('%Y%m%d%H%M%S') + '.jpg' name.downcase end end

ちなみに、loginメソッドは

def login @user = User.find_by(email: params[:email], password: params[:password]) if @user flash[:notice] = "ログインしました" redirect_to user_mypage_url else @error_message = "ユーザーネームもしくはメールアドレスが間違っています" render user_login_path end end

になり、@user = User.find_by(email: params[:email], password: params[:password])が22行目になります。

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

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

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

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

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

winterboum

2020/11/13 23:39

エラーの起きているfileも載せてください
nakatievent

2020/11/14 03:12

追記しました。 確認お願いします。
guest

回答1

0

自己解決

すいません。
解決しました。

image_uploader.rbに最初

class ImageUploader < CarrierWave::Uploader::Base end

っていうコードが書かれていたのですが、下記のコードを貼り付けた際にそのコードを消してしまっていたことが原因でした。

#リサイズ、画像形式を変更に必要 include CarrierWave::RMagick #上限変更 proc :resize_to_limit => [700, 700] #JPGで保存 proc :convert => 'jpg' #サムネイルを生成 version :thumb do process :resize_to_limit => [300, 300] end # jpg,jpeg,gif,pngのみ def extension_white_list %w(jpg jpeg gif png) end #ファイル名を変更し拡張子を同じにする def filename super.chomp(File.extname(super)) + '.jpg' end #日付で保存 def filename if original_filename.present? time = Time.now name = time.strftime('%Y%m%d%H%M%S') + '.jpg' name.downcase end end

なので、rails db:rollbackして一旦image_uploader.rbを消去して再度

$ rails g uploader image $ rails g migration AddImageToUsers image:string $ rails db:migrate

してimage_uploader.rb

class ImageUploader < CarrierWave::Uploader::Base #リサイズ、画像形式を変更に必要 include CarrierWave::RMagick #上限変更 process :resize_to_limit => [700, 700] #JPGで保存 process :convert => 'jpg' #サムネイルを生成 version :thumb do process :resize_to_limit => [300, 300] end # jpg,jpeg,gif,pngのみ def extension_white_list %w(jpg jpeg gif png) end #ファイル名を変更し拡張子を同じにする def filename super.chomp(File.extname(super)) + '.jpg' end #日付で保存 def filename if original_filename.present? time = Time.now name = time.strftime('%Y%m%d%H%M%S') + '.jpg' name.downcase end end end

して確かめるとエラーは消えました。

投稿2020/11/14 06:59

nakatievent

総合スコア38

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問