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

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

ただいまの
回答率

90.40%

  • Ruby

    9865questions

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

  • Ruby on Rails

    9282questions

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

active admin でArgumentError in Admin::Products#show

受付中

回答 0

投稿

  • 評価
  • クリップ 0
  • VIEW 390

pepper

score 21

active adminを導入してからタイトルのようなエラーが出ます。

Showing /Users//.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/bundler/gems/activeadmin-4f494073c6c0/app/views/active_admin/resource/show.html.arb where line #2 raised:

wrong number of arguments (given 1, expected 0)

          temp_method = "__temp__#{safe_name}"
          ActiveRecord::AttributeMethods::AttrNames.set_name_cache safe_name, name
          @module.module_eval method_body(temp_method, safe_name), __FILE__, __LINE__
          @module.instance_method temp_method
        end
      end

今まではこのようなエラーが出たことがなかったので、どう対処していいのかわかりません。

現状だと
・他のモデルからはデータを登録して、その後showページで確認ができる
・Product modelも投稿画面から新しいデータを作成をできる(しかし、showページが出てくることがなくエラーが出る)

Product モデルのみでこのようなエラーが出るので、モデル周辺に問題があるかと思うのですが、もしわかる方がいらっしゃいましたら、教えていただけると嬉しいです。

こちらがモデルとactive adminのコードです。

ActiveAdmin.register Product do

  #indexページ
  index do
    selectable_column
    id_column
    # column :image do |b|
    #   image_tag(b.image.url(:thumb))
    # end
    column :model
    column :method
    column :height
    column :width
    column :depth
    column :pitch
    column :accuracy
    column :updated_at
    actions
  end

  # #showページ
  show do
    attributes_table do
      row :model
      row :price
      row :method
      row :height
      row :width
      row :depth
      row :agency
      row :pitch
      row :accuracy
      row :created_at
      row :updated_at
    end
  end

  #formのコード
  form do |f|
    f.inputs 'プリンター' do
      f.input :model
      f.input :price
      f.input :method
      f.input :height
      f.input :width
      f.input :depth
      f.input :agency
      f.input :pitch
      f.input :accuracy
      f.has_many :product_makers, allow_destroy: true, new_record: true do |t|
        t.input :maker_id,
                label: 'メーカー',
                as: :select,
                collection: Maker.all
      end
      f.has_many :product_uses, allow_destroy: true, new_record: true do |t|
        t.input :use_id,
                label: '用途',
                as: :select,
                collection: Use.all
      end
      f.actions
    end
  end
  permit_params :model, :price, :method, :height, :width, :depth, :agency, :pitch, :accuracy,
                product_makers_attributes: [:id, :maker_id],
                product_uses_attributes: [:id, :use_id]
end
class Product < ActiveRecord::Base
  has_many :product_uses
  has_many :uses, :through => :product_uses
  accepts_nested_attributes_for :product_uses, :allow_destroy => true

  has_many :product_makers
  has_many :makers, :through => :product_makers
  accepts_nested_attributes_for :product_makers, :allow_destroy => true

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

まだ回答がついていません

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

  • ただいまの回答率 90.40%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

同じタグがついた質問を見る

  • Ruby

    9865questions

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

  • Ruby on Rails

    9282questions

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