2010-03-09 24 views
7

vì vậy tôi có nhiều bộ điều khiển và nhiều chế độ xem.cách tạo biến số trong tất cả các chế độ xem - đường ray

tôi muốn biến @random_quote của mình được đánh giá mỗi khi mọi lượt xem tải lên.

tôi đã thử một số điều trong bộ điều khiển ứng dụng (tôi nghĩ nó nên ở đây?) Nhưng không ai trong số họ làm việc.

vậy làm thế nào để tôi kết nối hai: @random_quote.body (in view)

@random_quote = Quote.find(:random) (trong điều khiển phải không?)

để ong nhìn qua tất cả các ứng dụng của tôi?

cảm ơn câu trả lời của bạn!

Trả lời

13

Tôi nghi ngờ bạn thực sự cần nó để có thể truy cập được trong tất cả các chế độ xem. Nhưng bạn có thể đặt @random_quote = Quote.find(:random) theo một phương thức được gọi với một before_filter trong ApplicationController của bạn. Sau đó nó sẽ có thể truy cập ở mọi nơi.

Giống như vậy:

before_filter :get_random_quote 
def get_random_quote 
    @random_quote = Quote.find(:random) 
end 
+0

nó hoạt động theo cách này cảm ơn bạn. tôi cũng nhận ra tôi cũng có thể đặt nó vào bộ điều khiển ứng dụng (không có bộ lọc trước). những gì thực sự là sự khác biệt. tốt hơn là đặt nó vào helper? cảm ơn một lần nữa! – user275447

+0

Tôi cho rằng bạn muốn tạo báo giá một lần cho mỗi lần xem trang. Nếu bạn muốn có một báo giá mới mỗi lần thì bạn không cần before_filter. –

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