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

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

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

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

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

Q&A

解決済

2回答

2236閲覧

ArgumentErrorを解消したい

haruka1997

総合スコア12

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

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

0グッド

0クリップ

投稿2019/03/01 05:42

編集2019/03/01 06:11

Railsでフォームを作っている際に、下記のエラーが発生しました。

ArgumentError in Goodthing#index
Showing /home/ec2-user/environment/web-app/app/views/goodthing/index.html.erb where line #8 raised:

First argument in form cannot contain nil or be empty
Extracted source (around line #8):

7 <div>
8 <%= form_for(@goodthing_form, url :goodthing_path, :method => :GET) do |f| %>
9 <fieldset>
10 <legend><%= t(".filter") %></legend>

controllerはこちらになります。

class GoodthingController < BaseController set_function_label :user_management end def index  @goodthing_form = GoodthingForm.new(goodthing_form_params) @date_from = @goodthing_form.from @date_to = @goodthing_form.to @name = @goodthing_form.name @group = @goodthing_form.group @users_name = current_organization.users.without_soft_destroyed.map {|user| user.profile.name } @groups_name = current_organization.groups.map {|group| group.name } # params[:search].each do |k, v| # instance_variable_set("@#{k}", v.strip) # end if params[:search].present? if @goodthing_form.valid? ar = current_organization.users.without_soft_destroyed.joins(groups,:profile,:comments).includes(:profile,:comments) ar = ar.where("`profile.open_goodthing LIKE ?", true) ar = ar.where("`groups.name LIKE ?", "%#{@group}%") if @group.present? ar = ar.where("profiles.name LIKE ?", "%#{@name}%") if @name.present? ar = ar.where("comments.recorded_on >= ?", @date_from) if @date_from.present? ar = ar.where("comments.recorded_on >= ?", @date_to) if @date_to.present? @search_users = ar.order(:id).page(params[:page]).per(150).select("users.id as id, profiles.name as name, comments.recorded_on as recorded_on") end

@goodthing_formのコントローラー部の定義が間違っていると推測しているのですが、どこが間違っているかがわかりません。

原因を教えていただけると幸いです。

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

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

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

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

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

guest

回答2

0

ベストアンサー

8 <%= form_for(@goodthing_form, url :goodthing_path, :method => :GET) do |f| %>

erb

1<%= form_for(@goodthing_form, url: goodthing_path, :method => :GET) do |f| %>

投稿2019/03/02 01:45

asm

総合スコア15147

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

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

0

classはちゃんとメソッドを囲えていますか?

ruby

1class GoodthingController < BaseController # <= ここと 2 set_function_label :user_management 3end # <= ここで、閉じているように見えますが 4

投稿2019/03/01 17:25

ReiLeiLei1025

総合スコア236

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問