为什么在从respond_to调用操作时没有执行before_action?

时间:2015-02-25 09:29:06

标签: ruby-on-rails controller before-filter

我有一个操作,它在控制器中的:edit:new操作之前设置一个可验证的实例。如果我直接在请求中调用这些操作,则此方法有效。但是,如果我调用:update:create并且失败,之后在respond_toformat.html { render action: :edit }内执行,则before_action不会被触发。那是为什么?

1 个答案:

答案 0 :(得分:2)

因为render action: :edit实际上并未调用控制器操作,而只是呈现edit模板。

您可以在Rails指南中找到更多信息:

http://guides.rubyonrails.org/layouts_and_rendering.html#the-difference-between-render-and-redirect-to