我有一个操作,它在控制器中的:edit
和:new
操作之前设置一个可验证的实例。如果我直接在请求中调用这些操作,则此方法有效。但是,如果我调用:update
或:create
并且失败,之后在respond_to
块format.html { render action: :edit }
内执行,则before_action
不会被触发。那是为什么?
答案 0 :(得分:2)
因为render action: :edit
实际上并未调用控制器操作,而只是呈现edit
模板。
您可以在Rails指南中找到更多信息: