2015-12-07 3 views
0

Я пытаюсь повторить следующий Рубин на Rails помощника:тела класс помощника

def body_classes 
    "c-#{params[:controller].underscore} is-#{params[:action].underscore}" 
end 

Это, насколько я получил:

def body_classes(conn) do 
    "l- is-#{action_name(conn)}" 
end 

Как восстановить раскладку/вид имя?

ответ

1

Вы ищете Phoenix.Controller.controller_module/1 или Phoenix.Controller.view_module/1 и Phoenix.Controller.action_name/1.

"l- #{controller_module(conn)}-#{action_name(conn)}" 

Вы можете использовать Phoenix.Naming.resource_name/2 если вы хотите только глагол.

Что-то вроде:

Phoenix.Naming.resource_name(MyApp.UserController, "Controller") #"user" 

Конечный код будет выглядеть следующим образом:

"l-#{controller_module(conn) |> Phoenix.Naming.resource_name("Controller")}-#{action_name(conn)}" 
#"l-user-index" 
+0

Совершенная. Спасибо. – Wayferer

Смежные вопросы