[英]Rails: link_to with :remote => true not working
我正在嘗試實現類似於Stack Overflow上的投票系統。 (使用Rails 3)我希望在沒有頁面重新加載的情況下完成投票,所以我有這個代碼
link_to("/tags/#{tag.id}/upVote", :remote => true )
所以在我的/ views / tags目錄中,我有一個名為_upVote.js.erb的文件,我認為在單擊此鏈接時會調用該文件,但事實並非如此。 它試圖以HTML格式處理upVote,這是我得到的錯誤
缺少模板標簽/ upVote {:formats => [:html]
另外,這是我的路線文件中的內容
match "tags/:id/upVote" => "tags#upVote"
任何想法我怎么能讓這個工作?
如果您在空白的新頁面中收到此錯誤消息,則表示您的遠程調用不起作用,並且未通過Ajax請求進行調用。 您需要檢查您的布局是否正確加載了jQuery和jQuery Rails連接器: http : //github.com/rails/jquery-ujs
然后使用Firefox + Firebug檢查該調用是否真的是一個Ajax調用。
我有同樣的問題。 為了解決這個問題,我跟着
最后,我必須這樣做
Require both jquery and jquery_ujs were in the application.js manifest.
//= require jquery
//= require jquery_ujs
畢竟,Rails ajax開始為我工作。
在rails應用程序根目錄中鍵入類似內容:
rails g jquery:install
然后,在application.html.erb
添加該行
<%= javascript_include_tag :defaults %>
或明確(不要忘記單獨包含您的jquery):
<%= javascript_include_tag :rails, :application %>
[編輯:使用資產管道的Rails 3.1或更高版本]
使用gem jquery-rails
(如上所述)並將以下行添加到app / assets / javascripts / application.js (如果它們不存在):
//= require jquery
//= require jquery_ujs
希望這可以幫助!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.