Rails的新 - 错误的参数数目(0 1)
我已经在一个orders_controller
Rails的新 - 错误的参数数目(0 1)
@order = Order.new
的Rails的new
方法中以下给了我以下错误:
wrong number of arguments (0 for 1)
app/models/order.rb:2:in `<class:Order>'
app/models/order.rb:1:in `<top (required)>'
app/controllers/orders_controller.rb:33:in `new'
我正在使用Rails 3.0.5
谢谢!
编辑:order.rb可以在下面
class Order < ActiveRecord::Base
has_many :line_items, :dependent => destroy
PAYMENT_TYPES = [ "Check", "Credit card", "Purchase order" ]
validates :name, :address, :email, :pay_type, :presence => true
validates :pay_type, :inclusion => PAYMENT_TYPES
def add_line_items_from_cart(cart)
cart.line_items.each do |item|
item.cart_id = nil
line_items << item
end
end
end
发现你在你的代码中的错字。您错过了:
中的:destroy
将:dependent => destroy
更改为第2行至:dependent => :destroy
。它应该工作。
这就是我刚刚写的...没有必要respost答案 – joshim5
@ joshim5 ..我张贴我的回答之前,张贴...检查张贴的时间..它不是一个repost ..事实上它是urs是一个转贴;) – rubyprince
这是不正确的。我在你的2分钟之前发布了我的。 – joshim5
在order.rb
第一个声明应改为:
has_many :line_items, :dependent => :destroy
您可以发布您'order.rb'文件? –
显示您的订单类的来源,可能有一个新的或初始化的方法定义在那里。 –
Ruby错误实际上非常具有描述性。您至少需要一个参数,而不向构造函数提供参数。如果将源发布到orders.rb,我们可以帮助确定所需的参数应该是什么。 – peakxu