我正在尝试复制以下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
如何检索布局/视图名称?
答案 0 :(得分:2)
您正在寻找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"