理论:method_missing

时间:2012-11-03 07:36:27

标签: ruby-on-rails

我刚开始学习Rails,我无法理解:

在我的Post控制器中,我没有方法显示(未描述),但我在控制器中输入:

def method_missing(name, *args)
  redirect_to posts_path
end

我认为如果控制器无法找到动作节目 - 它会调用method_missing并在重定向到index方法之后,但Rails会尝试渲染视图show.html.erb

为什么方法缺少不捕捉?我如何使用method_missing

1 个答案:

答案 0 :(得分:4)

如果存在相应的模板,则Rails不需要在控制器中存在操作。它只是假设空操作并呈现模板,这就是为什么不调用method_missing

如果您还不需要show操作 - 只需删除show.html.erbmethod_missing将按预期工作。