我有两个控制器,一个继承自另一个:
class FirstController < ApplicationController
...
def show
...
end
end
class SecondController < FirstController
...
def show
...
end
end
第一个控制器的 views 文件夹包含以下文件:
- 意见/第一/show.html.erb
- 意见/第一/show.js.erb
第二个控制器的 views 文件夹仅包含 HTML 文件:
- 意见/秒/show.html.erb
show
在控制器的方法中没有调用渲染或重定向。
当我调用SecondController#show
asJS
时,我希望views/first/show.js.erb
被渲染,但这并没有发生。我得到回应:Rendered second/show.html.erb
。
如果我删除文件views/second/show.html.erb
,那么没有问题,我会得到回应Rendered first/show.js.erb
。为什么会这样?
我该怎么做才能以非显式方式调用父控制器的 JS 视图,例如渲染first/show
?