2013-04-05 6 views
5

Używam jeśli ACTION_NAME zdefiniować układ, na przykładJeśli ACTION_NAME Rails

layout :layout_by_action_name 

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

Jak mogę dodać inną nazwę akcji z new, takich jak edit. Próbowałem:

layout :layout_by_action_name 

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

Ale to nie działa. Jakieś pomysły?

Odpowiedz

8

Spróbuj:

if action_name == "new" or action_name == "edit" 

Lub:

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

Prawdopodobnie chcesz to:

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

Czy "||" jest odpowiednikiem 'lub'? – user2203362

+0

cóż, to nie jest 'lub' i 'and' są operatorami sterowania, gdy' || 'i' && 'są wartościami logicznymi. – Shkarik

+1

Zobacz ten link, aby uzyskać więcej informacji: http://www.tutorialspoint.com/ruby/ruby_operators.htm – MrDanA

0

Spróbowałem więc odpowiedź MrDanA, ale to potrzebne wsporniki do pracy, podobnie jak to:

if ["new", "edit"].include?(action_name) 
Powiązane problemy