0

これは奇妙なことです。bundle exec guard私はRailsアプリケーションで実行しており、1つの孤立したコンテナー内のすべてのアクションについてエラーの長いリストを取得しています。そして、すべてのエラーはまったく同じであり、意味がありません。これは、すべてのアクションで得られるものです。

1) PriceProfilesController GET index assigns all price_profiles as @price_profiles
     Failure/Error: Unable to find matching line from backtrace
     ArgumentError:
       wrong number of arguments (1 for 0)
     # ./app/controllers/price_profiles_controller.rb:15:in `extend'

  2) PriceProfilesController GET show assigns the requested price_profile as @price_profile
     Failure/Error: Unable to find matching line from backtrace
     ArgumentError:
       wrong number of arguments (1 for 0)
     # ./app/controllers/price_profiles_controller.rb:15:in `extend'

... and so forth

何が起こっているのか考えていますか?PriceProfileContainerは、ほぼ標準のスキャフォールドです。ここはどこを見ればいいの?スペックファイルはスキャフォールドによって自動生成されます。

アップデート - -

これが私のコントローラーコードのExtend関数です:

# GET /price_profiles/1/extend
  def extend
    @price_profile = PriceProfile.find(params[:id])
    @products = Product.all()
    @locations = Location.all()
    @price_profile_date_range = PriceProfileDateRange.new()

    #respond_to do |format|
    #  format.html # extend.html.erb      
    #end
  end

それはほとんどそれです。

4

1 に答える 1

3

extendモジュールのメソッドをオブジェクトに追加できるコアrubyメソッドです(インクルードのようなもの)

何か(バックトレースの残りの部分を見ればわかるでしょう)は、コントローラーのインスタンスでextendを呼び出そうとしており、1つの引数を取るコアrubyのextendメソッドを期待しています)が、代わりに引数をとらないextendメソッドを見つけています(そしてもちろん、まったく異なることをします)。

最も簡単なのは、メソッドに別の名前を選択することです

于 2012-06-03T09:59:40.807 に答える