确实发生了奇怪的事情。这甚至不是错误,但不应该发生。
我定义了一条路线:
get :reply
我也为此路线定义了一个视图。
但是 我没有为此路线设置控制器操作 ,但该页面仍然加载!我已经搜索了我的代码,但是在任何地方都没有其他reply
操作。
我知道我可能应该共享我的代码,但是我什至不知道从哪里开始。这是一个奇怪的事情。
这是我尝试过的:
<%= controller_name %>#<%= action_name %>
以显示它与哪个操作相关联,并为我提供了正确的控制器和操作!但是,我发誓,我正在寻找源代码,并且看不到在任何地方定义该操作!答案 0 :(得分:0)
在Rails中,如果已设置了视图和路线,则可以在不执行控制器动作的情况下工作。但是,如果您定义控制器动作,它将先经过该动作,然后再进入视图。另外,例如,您可以在不显示视图的情况下进行控制器操作,例如
def action_without_view
...
render :json => ["blah"].to_json and return
# or
render :text => "Yadda!" and return
end
“ and return”告诉框架不要查找视图,而只是在渲染告诉它的内容时退出。