ArgumentError - 调用.all时参数的数量错误

时间:2011-08-02 23:53:57

标签: ruby-on-rails

我对RoR很新,虽然我在StackOverflow和Google上进行了大量的搜索,但我似乎无法解决这个问题。

在我的控制器中,我有以下代码来初始化@coupon_categories实例变量,并在我的索引方法中不断出现此错误:

wrong number of arguments (0 for 1)

这是我的CouponCategoryController文件:

class CouponCategoryController < ApplicationController

   # Implemented when user input taken
   def index
     @coupon_categories = CouponCategory.all
   end

   def new
     @coupon_category = CouponCategory.new(params[:coupon_category])
   end

coupon_category.rb:

class CouponCategory < ActiveRecord::Base

  has_many :coupons, :dependent => destroy # destroys coupons dependent on coupon_category  

end

非常感谢任何见解!谢谢:))

编辑:这是我的视图文件,以及完整的错误消息。 index.html.erb:

<h1> Create A Coupon Category! </h1>

<%= form_for :coupon_category do |f| %>
 Category Name: <%= f.text_field "name" %><br />
 Category expiration date (YYYY-MM-DD): <%= f.text_field "date_expired" %><br />
     <%= f.submit %>
<% end %>

<%= render :partial => 'coupon/index' %>

完整的错误消息:

ArgumentError in CouponCategoryController#index

wrong number of arguments (0 for 1)

app/models/coupon_category.rb:2:in `<class:CouponCategory>'
app/models/coupon_category.rb:1:in `<top (required)>'
app/controllers/coupon_category_controller.rb:5:in `index'

感谢您的帮助!

1 个答案:

答案 0 :(得分:4)

问题可能是

has_many :coupons, :dependent => destroy

destroy应为符号:destroy

has_many :coupons, :dependent => :destroy