2009-09-09 29 views
5

Tôi có một bộ điều khiển trong một không gian tên Foo. Tôi muốn áp dụng before_filter 'require_user' cho tất cả, nhưng không áp dụng cho các bộ điều khiển khác, không thuộc không gian tên Foo.Áp dụng bộ lọc bộ điều khiển Rails cho tất cả các bộ điều khiển của một không gian tên cụ thể?

Có cách nào để thực hiện điều này ngoài việc gọi một cách rõ ràng phương thức before_filter trong mỗi bộ điều khiển không?

Trả lời

4

Bạn có thể có một lớp học FooController bao gồm before_filter và sau đó sử dụng làm lớp cơ sở cho tất cả các trình điều khiển trong không gian tên đó.

+0

Bạn có thể làm như thế nào? Tôi đã thử tạo lớp, nhưng nó không kế thừa bộ lọc trước – eveevans

+0

một cái gì đó như: 'class Namespace :: ResourceController

+0

hoặc cho một ví dụ thực tế hơn:' lớp Admin :: InviteTokensController

1

Không. Không phải là không thực hiện một số loại thực sự khó chịu ObjectSpace loại hacks.

Các vấn đề liên quan