2011-07-05 54 views
0

我在application_helper的方法多參數

def is_controller?(*args) 
"active" if args.include?(params[:controller]) 
end 

這工作該方法。

%= is_controller?("x") %> 

這是行不通的。

%= is_controller?("x", "y", "z", "t") %> 

任何幫助將不勝感激。

+0

代碼已驗證。你爲什麼說它不起作用? – apneadiving

+0

請添加錯誤消息。 – s84

+0

你是否收到任何錯誤消息,或者它只是不按預期工作? –

回答

1

在它的行爲像您期望的控制檯

irb(main):020:0> def is_controller?(*args) 
irb(main):021:1> "active" if args.include?("x") 
irb(main):022:1> end 
=> nil 
irb(main):023:0> is_controller?("x") 
=> "active" 
irb(main):024:0> is_controller?("y") 
=> nil 
irb(main):025:0> is_controller?("x","y") 
=> "active" 

所以這個問題似乎是,你的PARAMS [:控制器]值是不是你認爲它應該是...