2013-04-05 45 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)