2010-10-29 48 views
3

我正試圖在Stack Overflow上實現一種類似於此處的投票系統。 (使用Rails 3)我想不重新加載頁面所要做的投票,所以我有這樣的代碼Rails:link_to with:remote => true不起作用

link_to("/tags/#{tag.id}/upVote", :remote => true) 
我/視圖/ tags目錄

所以我有一個文件名爲_upVote.js.erb我當這個鏈接被點擊時,思想會被調用,但事實並非如此。它試圖處理給予好評的HTML,這是錯誤我得到

缺少模板標籤/給予好評與{:格式=> [:HTML]

而且,這裏是我的我的路線文件

match "tags/:id/upVote" => "tags#upVote" 

任何想法,我可以得到這個工作?

+0

我刪除了答案,因爲這不是正確的答案。 – Swanand 2010-10-29 06:42:41

回答

6

如果您在空白新頁面中收到此錯誤消息,則表示您的遠程調用不起作用,並且調用不是通過Ajax請求完成的。您需要檢查您的佈局是否正確加載了jQuery和jQuery Rails連接器:http://github.com/rails/jquery-ujs

然後使用Firefox + Firebug檢查該調用是否確實是Ajax調用。

0

類型有點像你的Rails應用程序根目錄內:

rails g jquery:install 

,然後裏面你application.html.erb添加一行

<%= javascript_include_tag :defaults %> 

或明確的(不要忘了單獨包括您的jQuery):

<%= javascript_include_tag :rails, :application %> 

[編輯:對於Rails 3.1或更高版本,使用asse t管道]

使用gem jquery-rails(如上所述)並將以下行添加到app/assets/javascripts /應用程序。JS(如果它們不存在的話):

//= require jquery 
//= require jquery_ujs 

希望這有助於!

相關問題