期待哈希而不是实例

时间:2013-08-13 13:43:46

标签: ruby-on-rails ruby instance

我有这个错误

ArgumentError (wrong number of arguments (1 for 0)):
  lib/law/production.rb:20:in `clone'
  lib/law/production.rb:20:in `clone_law'
  lib/law/production.rb:11:in `initialize'
  app/controllers/laws_controller.rb:86:in `new'
  app/controllers/laws_controller.rb:86:in `prod_law'
  app/controllers/laws_controller.rb:44:in `create'

使用时

module Law
    class Production
      attr_accessor :law
      attr_accessor :creator

      def initialize(law,current_user)
        @law = law
        @creator = current_user
        clone_law
      end

      def current__user
        User.find_by_authentication_token(session[:_csrf_token])
      end
      def clone_law
        clone(@law)
      end
end
end

其中clonecreateprod_law是一些方法 我假设Rails期待hash,但我不明白为什么

1 个答案:

答案 0 :(得分:4)

首先,clone是标准的Ruby方法。 其次,它预计没有争论     all(如错误消息所示),应该在要克隆的对象上调用它,如下所示:

@law.clone