2012-08-07 67 views
0

我想在某個時間在其他控制器中自動執行動作。 我在這個網站上看到更多類似的帖子,並且他們全都告訴你每當或延遲工作。 但我不明白它是如何工作=( 這就是我想要的一個例子在軌中自動執行動作

def create 
@user = User.find(params[:user_id]) 
@client = @user.clients.create(params[:client]) 
if @client.save 
redirect_to user_clients_path(@user) 
     else 
render :action => 'new' 
     end 
Timeout(@client.event_time) 
    redirect_to :controller => :some_controller, action => some_action 
end 
+0

您希望「創建」操作在特定時間自動執行嗎?如果是這樣的話,這聽起來不正確,因爲參數將是空的。 – Hoa 2012-08-10 11:48:40

回答

0

這是一個有點難以明白你想要什麼樣的影響。

如果你想要的是一個如果用戶在一定時間內沒有響應,則發生超時行爲,那麼最簡單的方法是在客戶端寫入一些javascript - 設置一個定時器,如果定時器到期,則啓動一個動作,清除定時器如果用戶按下一個按鈕

如果你想要顯示一個頁面的幾個seco在創建客戶端之後發現並切換到新頁面後,可以在顯示的第一頁中放置元刷新,並在@ client.event_time秒後自動重定向到所需的頁面。