使用方法:layout_for_namespace,我可以根据当前所处的前端或后端(后端是使用名称空间“admin”)设置应用程序的布局。
我找不到一种简单的方法来确定我所在的名称空间,唯一能找到的方法是通过解析params[:controller]中的字符串。当然,这很简单,似乎很安全并且工作良好。但我只是想知道是否有更好、更可靠的方法来完成这个任务。有人知道吗?
目前我只是使用以下方法:
def is_backend_namespace?
params[:controller].index("admin/") == 0
end
提前感谢
Arne
controller.class.parents.include?(Admin)
,而不必采用字符串解析来获取类似的结果。 - trcardenNameError Exception: undefined local variable or method 'controller'
。我使用的是Rails 5.1版本。self.class.parents
可以正常工作并且等效。 - stwr667