2010-10-25 65 views
0

美好的一天...在不改變網站的情況下在Rails中做動作

還是一個初學者的問題。我主要是要求自己節省幾個小時的試驗和錯誤......我已經有了,而且沒有結果。

我想要做什麼...我有一個控制器,當然有一個動作。我想發送這個動作兩個ID,它應該使這些數據庫的一些條目。沒問題,這個行動效果很好。

但我不想看到它,我希望用戶點擊一個鏈接,甚至不離開網站。理想情況下,應該有一些Ajax(在網站上使用jQuery),將鏈接更改爲「謝謝」或任何其他內容。

所以是的,我的主要問題是:如何從鏈接中激活其他控制器的動作而不離開站點。很長的介紹,但我希望你能給我一些提示。

+1

如果您更具體幷包含一些代碼,則可能會得到更好的回覆。 – tinifni 2010-10-25 17:51:48

回答

2

查看link_to_remote的視圖方面,然後你可以讓你的控制器功能render nothing => truerender nothing => true

+0

通常你會渲染一些東西,最好是一些更新你的頁面的js,通知你已經做了一些事情,停止你的微調。 – nathanvda 2010-10-25 20:42:52

0

在軌道中查找link_to_remote方法。這應該使ajax呼叫控制器功能,而不是離開頁面。

+0

不是。 link_to_function運行javascript。 – nathanvda 2010-10-25 20:41:34

+0

哎呀,正在考慮'link_to_remote'並輸入'function'。 – shoebox639 2010-10-25 20:49:28

1

爲了保持從控制器動作也未突兀&回報的東西......我想你可能想是這樣的:

def my_action 
    # your code... e.g. @model = Model.find(params[:id]) 

    render :json => { :whatever => @model.whatever } 
end 

在JavaScript,做什麼你肯同返回的信息&防止通過返回false或使用jQuery防止點擊事件的默認功能,超鏈接的默認操作。

相關問題