Ruby-on-rails算术表达式

Ruby-on-rails算术表达式,ruby-on-rails,Ruby On Rails,我有一个控制器动作如下: def index @start_limit = 0 @last_limit = 5 @start = params[:start] @last = params[:next] if @last @start_limit = (@Start_limit) + (@last) @last_limit = (@last_limit) + (@last)

我有一个控制器动作如下:

def index    
    @start_limit = 0    
    @last_limit = 5    
    @start = params[:start]    
    @last = params[:next]    
    if @last    
      @start_limit = (@Start_limit) + (@last)  
      @last_limit = (@last_limit) + (@last)  
    elsif @start  
      @start_limit = (@start_limit) - (@start)  
      @last_limit = (@last_limit) - (@start)  
    else  
      # do nothing  
    end  
end  
当我执行包含此类控制器操作的程序时,出现以下错误:
未定义nil:NilClass的方法“+”
。我需要一个解决方案。

我是RoR新手,欢迎任何人的建议。

Ruby是一种区分大小写的语言,因此
@start\u limit
@start\u limit
(第7行,大写s)是两个不同的变量。将此更改为小写,它应该可以工作。

替换:

@start\u limit=(@start\u limit)+(@last)

与:

@start\u limit=(@start\u limit)+(@last)

更改

if @last    
      @start_limit = (@Start_limit) + (@last)  
      @last_limit = (@last_limit) + (@last)  
    elsif @start  
      @start_limit = (@start_limit) - (@start)  
      @last_limit = (@last_limit) - (@start)  
    else 


如果你想得到好的答案,你应该提出好的问题:1)突出你的代码块。2) 使用两个空格缩进。3) 试着更好地向我们解释你的问题,提供整个错误及其发生的原因。
if @last    
      @start_limit = (@start_limit) + (@last)  
      @last_limit = (@last_limit) + (@last)  
    elsif @start  
      @start_limit = (@start_limit) - (@start)  
      @last_limit = (@last_limit) - (@start)  
    else