rails访问部分内部的视图名称

Sha*_*jun 12 ruby-on-rails partial-views

我有一个部分,我在不同的页面使用.我想根据呈现它的视图有条件地隐藏部分内部的某个div.

我正在考虑创建一个页面特定的javascript文件,它将查找div并隐藏它.

但是,如果有一种方法来检索部分内部的视图名称/页面名称,它将是部分的中心,并且不需要在多个页面中加载相同的javascript文件.

有没有人知道在局部内部做这件事的方法

jhd*_*ds8 17

虽然@ wahaj的答案是有效的,但如果你想在中心位置做你需要的东西,你可以检查部分中的controller_nameaction_name变量以确定你所在的视图(例如controller_name == "services"并且action_name == "show"会让你知道你在Show中查看服务控制器)

  • 建议不要使用params [:controller]或params [:action],而是使用'controller_name','action_name' (6认同)

小智 6

您可以使用以下方法从Helper方法中获取当前呈现部分的名称:

controller.view_context.view_renderer.instance_variable_get('@_partial_renderer').instance_values['path']
Run Code Online (Sandbox Code Playgroud)