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

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

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

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

Slim

SlimはPHPアプリケーションを開発するための軽量なマイクロフレームワークです。

Q&A

解決済

1回答

2507閲覧

ArgumentErrorの解決方法

yuki-natori

総合スコア7

Ruby on Rails

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

Slim

SlimはPHPアプリケーションを開発するための軽量なマイクロフレームワークです。

0グッド

0クリップ

投稿2020/09/02 05:30

前提・実現したいこと

現在検索機能をform_forを使用して実装しようとしています

そこで起きたArgumentErrorの解決をしたいです

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

イメージ説明

該当のソースコード

index.html.slim br br h2.headline | リスト検索 = search_form_for @q, lists_path, {:method => 'get'} do |f| table.company[width="90%"] col[width="20%"] col[width="30%"] col[width="20%"] col[width="30%"] tbody tr th[colspan="4"] | 検索 tr th | 事務所名 td = f.search_field :company_cont, type: "text", placeholder: "事務所名" tr th | 都道府県 td. = f.search_field :prefecture_cont, type: "text", placeholder: "都道府県" tr.center td[colspan="4"] = f.submit '検索', class:"btn btn-danger" .row br br - @lists.each do |list| .row.store_index .col-xs-1 .col-xs-3 = link_to list.company, list_path(list), class:"store" .col-xs-3 -if list.tel.present? = list.tel .col-xs-4 -if list.prefecture.present? = list.prefecture = list.city = list.town = list.chome = list.building - if admin_signed_in? = link_to "編集", edit_list_path(list) = link_to "削除", list_path(list) ,method: :delete, data: { confirm: '本当に削除しますか?'} .col-xs-1 hr.line br br .center = paginate(@lists)
listsController.rb class ListsController < ApplicationController before_action :authenticate_worker!, only: [:new, :edit] def index @q = List.ransack(params[:q]) @lists = @q.result @lists = @lists.page(params[:page]).per(20).order(created_at: :desc) @list = List.search(params[:search]) respond_to do |format| format.html format.csv{ send_data @lists.generate_csv, filename: "lists-#{Time.zone.now.strftime('%Y%m%d%S')}.csv" } end end def show @list = List.find(params[:id]) end def new @list = List.new end def create @list = List.new(list_params) if @list.save redirect_to lists_path else render 'new' end end def edit @list = List.find(params[:id]) end def update @list = List.find(params[:id]) if @list.update(list_params) redirect_to lists_path else render 'edit' end end def destroy @list = List.find(params[:id]) @list.destroy redirect_to lists_path end def import List.import(params[:file]) redirect_to root_url, notice:"リストを追加しました" end private def list_params params.require(:list).permit( :company, #会社名 :name, # :tel, :fax, :postnumber, #郵便番号 :prefecture, :city, :town, :chome, :building, :mail, #URL :url, #URL :usp, #強み :caption, #資本金 :people, #従業員数 :image, :foundation, #設立日 :contact_url, #問い合わせ  :number_of_business, #事業所数 → n :number_of_store, #店舗数 :explanation, #解説 :access, #アクセス :holiday, #休日 :business_hour, #営業時間 :price, #価格 )&.merge(worker: current_worker) end end
list.rb class List < ApplicationRecord belongs_to :worker mount_uploader :image, ImagesUploader def self.import(file) CSV.foreach(file.path, headers: true) do |row| list = find_by(id: row["id"]) || new list.attributes = row.to_hash.slice(*updatable_attributes) list.save! end end def self.search(search) #self.でクラスメソッドとしている if search # Controllerから渡されたパラメータが!= nilの場合は、titleカラムを部分一致検索 List.where(['name LIKE ?', "%#{search}%"]) else List.all #全て表示。 end end def self.updatable_attributes ["company", #会社名 "name", "tel", "fax", "postnumber", #郵便番号 "prefecture", "city", "town", "chome", "building", "mail", #URL "url", #URL "usp", #強み "caption", #資本金 "people", #従業員数 "image", "foundation", #設立日 "contact_url", #問い合わせ  "number_of_business", #事業所数 → n "number_of_store", #店舗数 "explanation", #解説 "access", #アクセス "holiday", #休日 "business_hour", #営業時間 "price" #価格 ] end end

試したこと

ArgumentErrorが引数が合っていないエラーだということは突き止めましたが、どの場所を確認すべきなのかが分からず質問しました。

エラーを調べる方法や問題点がありそうな箇所など思い当たれば伺いたいです。

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

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

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

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

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

guest

回答1

0

自己解決

今回は自身の勘違いよる投稿になりました。

申し訳ございません。

投稿2020/09/02 08:20

yuki-natori

総合スコア7

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問