2013-04-05 43 views
5

我使用,如果ACTION_NAME定義佈局,例如如果ACTION_NAME Rails的

layout :layout_by_action_name 

def layout_by_action_name 
    if action_name == 'new' 
    "layout_file" 
    else 
    "application" 
    end 
end 

我如何可以添加其他動作名稱與new,如edit。我試過:

layout :layout_by_action_name 

def layout_by_action_name 
    if action_name == 'new' && 'edit' 
    "layout_file" 
    else 
    "application" 
    end 
end 

但它不工作。有任何想法嗎?

回答

8

嘗試:

​​

或者:

if ["new", "edit"].include? action_name 
2

你可能想這樣的:

if action_name == 'new' || action_name == 'edit' 
+1

'||'等價於'or'嗎? – user2203362 2013-04-05 19:15:13

+0

好吧,它不是 '或'和'和'是'||'和'&&'是布爾型時的控制流操作符。 – Shkarik 2013-04-05 19:17:29

+1

請參閱此鏈接瞭解更多信息:http://www.tutorialspoint.com/ruby/ruby_operators.htm – MrDanA 2013-04-05 19:18:02

0

所以,我想MrDanA的答案,但它需要支架的工作,像這樣:

if ["new", "edit"].include?(action_name)