2013-07-18 240 views
0

我有使用連接類(I取得的代碼更簡單說明問題)的控制器:錯誤返回值

class InvoicesController < ApplicationController 
    def connect 
    @flow = Flow.new(year: 2010, month: 10, day: 5) 
    @con = Connection.new(@flow)  
    @con.connect 
    flash.now[:error] = "#{@con.connect}" 
    end 
end 


class Connection 
    def initialize(obj)  
    @obj = obj  
    end 

    def connect  
    @result = [1].each do |x|   
     case   
     when (@obj.year > 1) && (@obj.day != 5) 
      break "result from case1: #{@obj.day}" 
     when (@obj.year > 1) && (@obj.day == 5) 
      @obj.update_attributes(day: 6) 
      break "result from case2 #{@obj.day}"    
     end 
    end  
    return "#{@result}" 
    end 
end 

@flow對象匹配殼體2(天:5),但閃光顯示:

result from case1: 6

當我在控制檯測試連接類,返回值是正確的。

也許我想念一些基本概念,謝謝。

回答

0

第一次調用connectupdate_attributes(day: 6))時,您正在修改對象,所以第二次調用它時會得到另一個案例。如果您只想調用一次,請將返回值保存在新變量中並將其發送到閃存。

+0

很好的答案,謝謝你的快速回放。現在返回值是正確的! – harlock975