加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – rails构造函数“def initialize”with attribu

发布时间:2020-12-17 02:31:21 所属栏目:百科 来源:网络整理
导读:嗨,我有一个名为“列表”的模型. 这是模型的构造函数: def initialize(business) puts 'inside Listing.initialize' @name = business.name @telephone = business.telephone puts 'Created a new Listing'end 我有一个名为“listings_controller”的控制器
嗨,我有一个名为“列表”的模型.
这是模型的构造函数:

def initialize(business)
    puts 'inside Listing.initialize'

    @name = business.name
    @telephone = business.telephone


    puts 'Created a new Listing'
end

我有一个名为“listings_controller”的控制器
我有另一个名为“商业”的模型.在“listing_controller”中,我有一个方法,我希望用“业务”属性实例化一个“列表”.

这是在“listing_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:初始化’
app / controllers / listings_controller.rb:18:create_listings中的inblock’
app / controllers / listings_controller.rb:17:每个’
应用程序/控制器/ listings_controller.rb:17:increate_listings’
app / controllers / listings_controller.rb:26:在’show’中

我怎样才能解决这个问题?
谢谢

解决方法

你可以尝试(伪代码/未经测试):

def initialize(business)
    puts 'inside Listing.initialize'

    @attributes.merge(business.attributes)

    puts 'Created a new Listing'

end

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读