标签: argument-error

Ruby on Rails 5.0升级无法使用rails console或db:migrate

在最近从4.2升级到Ruby on Rails 5.0之后,我无法运行rake db:migrate或rails console.我认为最好首先解决控制台错误,它似乎给了以下更多信息错误:

如果我正确理解您的请求,这是完整的堆栈跟踪.谢谢.

    $ rails c
    /Users/my_username/.rvm/gems/ruby-2.3.0/gems/actionpack-5.0.0/lib/action_controller/test_case.rb:49:in `initialize': wrong number of arguments (given 0, expected 2) (ArgumentError)
        from /Users/my_username/.rvm/gems/ruby-2.3.0/bundler/gems/draper-57a514133bc2/lib/draper/view_context/build_strategy.rb:41:in `new'
        from /Users/my_username/.rvm/gems/ruby-2.3.0/bundler/gems/draper-57a514133bc2/lib/draper/view_context/build_strategy.rb:41:in `block in controller'
        from /Users/my_username/.rvm/gems/ruby-2.3.0/gems/andand-1.3.3/lib/andand.rb:60:in `me'
        from /Users/my_username/.rvm/gems/ruby-2.3.0/bundler/gems/draper-57a514133bc2/lib/draper/view_context/build_strategy.rb:40:in `controller'
        from /Users/my_username/.rvm/gems/ruby-2.3.0/bundler/gems/draper-57a514133bc2/lib/draper/view_context/build_strategy.rb:30:in `call'
        from /Users/my_username/.rvm/gems/ruby-2.3.0/bundler/gems/draper-57a514133bc2/lib/draper/view_context.rb:49:in `build'
        from /Users/my_username/.rvm/gems/ruby-2.3.0/bundler/gems/draper-57a514133bc2/lib/draper/railtie.rb:63:in `block in <class:Railtie>'
        from /Users/my_username/.rvm/gems/ruby-2.3.0/gems/railties-5.0.0/lib/rails/railtie.rb:226:in `block in run_console_blocks'
        from /Users/my_username/.rvm/gems/ruby-2.3.0/gems/railties-5.0.0/lib/rails/railtie.rb:247:in `each'
        from /Users/my_username/.rvm/gems/ruby-2.3.0/gems/railties-5.0.0/lib/rails/railtie.rb:247:in `each_registered_block'
        from /Users/my_username/.rvm/gems/ruby-2.3.0/gems/railties-5.0.0/lib/rails/railtie.rb:226:in `run_console_blocks'
        from /Users/my_username/.rvm/gems/ruby-2.3.0/gems/railties-5.0.0/lib/rails/application.rb:463:in `block in run_console_blocks'
        from /Users/my_username/.rvm/gems/ruby-2.3.0/gems/railties-5.0.0/lib/rails/engine/railties.rb:13:in `each'
        from /Users/my_username/.rvm/gems/ruby-2.3.0/gems/railties-5.0.0/lib/rails/engine/railties.rb:13:in `each'
        from /Users/my_username/.rvm/gems/ruby-2.3.0/gems/railties-5.0.0/lib/rails/application.rb:463:in `run_console_blocks'
        from /Users/my_username/.rvm/gems/ruby-2.3.0/gems/railties-5.0.0/lib/rails/engine.rb:442:in `load_console'
        from /Users/my_username/.rvm/gems/ruby-2.3.0/gems/railties-5.0.0/lib/rails/commands/console.rb:34:in `initialize' …
Run Code Online (Sandbox Code Playgroud)

initialization ruby-on-rails argument-error

3
推荐指数
1
解决办法
1837
查看次数

访问 Julia 矩阵中的任意行

我有以下代码,其中给定i我想找到i矩阵的第行。我的代码如下:

function f(mat,i)
     println(mat[:i,:])
end
Run Code Online (Sandbox Code Playgroud)

但是,我收到以下错误:

ArgumentError: invalid index: :i of type Symbol
Run Code Online (Sandbox Code Playgroud)

我尝试打印iusing的类型typeof,它说是Int64。此外,如果我尝试只找到第一行,那么mat[:1,:]我就可以完成这项工作,所以我认为问题不在于切片语法。

types matrix slice argument-error julia

3
推荐指数
1
解决办法
1456
查看次数

有没有办法在方法中测试Argument Errors以返回true或false?

我试图习惯用简单的驱动程序片段测试我的代码,并想测试是否抛出Argument Error而不退出程序.这是我正在使用的代码

class Die
  def initialize(sides)
    @sides=sides
    unless @sides>0
      raise ArgumentError.new("Your number sucks, yo")
    end
  end

  #returns the number of sides of a die
  def sides
    @sides
  end

  #generates a random die roll based on the number of sides
  def roll
    rand(@sides)+1
  end
end
Run Code Online (Sandbox Code Playgroud)

以下是我试图要求进行测试的内容.

p bad=Die.new(0)=="Your number sucks, yo"
Run Code Online (Sandbox Code Playgroud)

我希望它返回的是"真实的".它在终端中返回的是:

w3p1_refact.rb:33:in `initialize': Your number sucks, yo (ArgumentError)
    from w3p1_refact.rb:69:in `new'
    from w3p1_refact.rb:69:in `<main>'
Run Code Online (Sandbox Code Playgroud)

我可以重写这个以返回我要找的东西吗?

ruby testing argument-error

2
推荐指数
1
解决办法
1286
查看次数

如何在order_form中修复'错误的参数数量(1为0)'

我的应用程序在一个小时前被完美的工作,然后我加两列,:pick_up:send以"订单"表,在那之后我得到这个错误

wrong number of arguments (1 for 0)
Run Code Online (Sandbox Code Playgroud)

我不明白为什么会导致这个错误.

这是orders_controller.rb:

class OrdersController < ApplicationController

  include CurrentCart
  before_action :set_cart, only: [:new, :create]
  before_action :set_order, only: [:show, :edit, :destroy]

  def index
    @orders = Order.all? 
  end

  def new
    @images  = ["1.jpg", "2.jpg", "3.jpg", "4.jpg", "5.jpg"]
    @random_no = rand(5)
    @random_image = @images[@random_no]

    if @cart.product_items.empty?
      redirect_to root_url, notice: 'Your Cart is Empty'
      return

    end
    @order = Order.new
    @client_token = Braintree::ClientToken.generate
  end

  def create
    @order = Order.new(order_params)
    if @order.save
      charge
      if @result.success? …
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails argument-error

0
推荐指数
1
解决办法
683
查看次数