您好我有一个名为“列表”的模型。 以下是模型的构造函数:
def initialize(business)
puts 'inside Listing.initialize'
@name = business.name
@telephone = business.telephone
puts 'Created a new Listing'
end
我有一个名为“listings_controller”的控制器 我有另一个名为“商业”的模型。在“listing_controller”中,我有一个方法,我希望用“业务”属性实例化一个“列表”。
以下是在“listings_controller”中执行该操作的代码
def create_listings
self.get_all
@businesses.each do |business|
Listing.create(business)
end
end
def show
self.create_listings
@listings = Listing.all
respond_to do |format|
format.html #show.html.erb
end
end
此初始化方法无法正常工作。我遇到此异常:
wrong number of arguments (2 for 1)
Rails.root:/ Users / AM / Documents / RailsWS / cmdLineWS / Business
应用程序跟踪|框架跟踪|完整追踪
app / models / listing.rb:53:在create_listings中的initialize'
app/controllers/listings_controller.rb:18:in
块中
app / controllers / listings_controller.rb:17:在each'
app/controllers/listings_controller.rb:17:in
create_listings'中
app / controllers / listings_controller.rb:26:在'show'
我该如何解决这个问题? 感谢
答案 0 :(得分:4)
您可以尝试(伪代码/未经测试):
def initialize(business)
puts 'inside Listing.initialize'
@attributes.merge(business.attributes)
puts 'Created a new Listing'
end