Rails 如何在 application_controller 里面指定某个方法只在特定得控制器下执行?

Zoker · May 09, 2014 · Last by liwei78 replied at May 09, 2014 · 2300 hits

application_controller里面得一个函数

def books
……
end

我想这个方法只有在响应books_controller的时候执行,如何做判断?

books_controllerbefore_filter就行了吧?

bdfore_action :books, if: controller_name == "books_controller"

before_filter :on_book_controller

def on_book_controller if request.fullpath.startWith('/book') //do something end end

#2 楼 @cassiuschen many thx , controller_name is what I want!

不是应该把这个方法放到 books_controller 内么

#6 楼 @hozaka 看起来这个意见更好啊

#6 楼 @hozaka #7 楼 @48hour 谢谢回复,主要是我要判断一个动作通过变量去条件匹配多个控制器,例子举的有点不好,见谅。

controller_name = "xxx" 和 controller.action = "yyy"

You need to Sign in before reply, if you don't have an account, please Sign up first.