身体类助手

时间:2015-12-07 19:47:40

标签: elixir phoenix-framework

我正在尝试复制以下Ruby on 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 个答案:

答案 0 :(得分:2)

您正在寻找Phoenix.Controller.controller_module/1Phoenix.Controller.view_module/1Phoenix.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"