2014-01-11 69 views
0

我有一個隨機的網頁鏈接,如果您每次重新加載頁面並且沒有點擊瀏覽器上的「後退」按鈕,那麼這個頁面鏈接將起作用。有沒有一種方法可以通過使用Ruby/Rails讓它成爲每次點擊的新鏈接?或者這會是我不得不使用JS或其他東西?我想問的原因是因爲我沒有任何其他語言的經驗。也許有一種方法每隔10秒自動重新載入網頁或類似的東西?如何在每次點擊後獲得更改鏈接?

網頁型號

class Webpage < ActiveRecord::Base 
validates_presence_of :link 

def self.randomize_webpages 
    all.shuffle.first.link 
end 
end 
WebpagesController

def index 
    @webpages = Webpage.all 
end 

查看

<%= link_to 'Take Me Anywhere But Here', @random_page %> 

CSV

CSV播種機的網頁

link 
http://www.buzzfeed.com 
http://www.reddit.com 
http://boston.com 
http://phys.org 
http://www.popsci.com 
http://www.technologyreview.com 
http://techcrunch.com 
View Index.html.erb 

回答

1

在你的控制器,你可以設置@random_pageindex

def index 
    @random_page = Webpage.randomize_webpages 
end 

這將調用此方法來返回的index每個負載隨機鏈接:

class Webpage < ActiveRecord::Base 
validates_presence_of :link 

def self.randomize_webpages 
    all.sample.link 
end 
end 
+0

好吧,我已經做了該設置,但我現在的問題是,如果您點擊瀏覽器上的「返回」按鈕,鏈接保持不變 – John

+0

在這種情況下,您將需要使用JavaScript,雖然這可能是一個困難需要解決的問題。檢查了這一點,它可能會有所幫助:http://stackoverflow.com/questions/6359327/detect-back-button-click-in-browser – CDub

+0

謝謝我會檢查出來,看看我能否實現它。與此同時,以下是一個粗略的解決方案,但如果放置在適當的視圖中,它會起作用: John

相關問題