比较来自世界各地的卖家的域名和 IT 服务价格

Ruby 上 Rails: Ajax 部分更新不起作用

按下按钮时,我几乎不尝试强制执行部分内存。 我只想更新 div, 而不是整个页面完全。 那就是我的意思:


<div id="ajax">
&lt;%= render 'layouts/confessions' %&gt;
</div>


然后在我的部分中
_confessions.html.erb

我有一些基本的 html 和两个类似的按钮:


<%= form_tag/ { :controller => :confessions, :action => :upvote, :id => conf.id }, { :method => :put } / do %>
<%= submit_tag 'Like' %>
<% end %>


我的 confessions_controller.rb:


def upvote
@confession = Confession.find/params[:id]/
Confession.increment_counter :upvotes, @confession
respond_to do |format|
format.js
end
end


最后
upvote.js.erb

:


$/'#ajax'/.html/"<%= escape_javascript/render/:partial => 'confessions'//.html_safe %>"/;


发送到我的数据库工作,但现在页面被重定向到
/upvote?id=9

/标识符可能不同/, 不仅仅是更新 div. 我究竟做错了什么? 我是新的b。 Rails, 因此,我可以错过一些完全明显的东西......

EDIT: 这是我的文件夹结构:

我的想法:
views/pages/home.html.erb


我的部分:
views/layouts/_confessions.html.erb


我的控制器:
controllers/confessions_controller.rb


我的文件。 js.erb:
views/confessions/upvote.js.erb



rake routes



confessions GET /confessions/.:format/ confessions#index
POST /confessions/.:format/ confessions#create
new_confession GET /confessions/new/.:format/ confessions#new
edit_confession GET /confessions/:id/edit/.:format/ confessions#edit
confession GET /confessions/:id/.:format/ confessions#show
PUT /confessions/:id/.:format/ confessions#update
DELETE /confessions/:id/.:format/ confessions#destroy
upvote /upvote/.:format/ confessions#upvote
downvote /downvote/.:format/ confessions#downvote
root / pages#home
已邀请:

董宝中

赞同来自:

确保你有它 application.js


//= require jquery
//= require jquery_ujs


FYI:
https://coderoad.ru/4227775/
然后改变它


$/'#ajax'/.html/"<%= escape_javascript/render/:partial => 'confessions'//.html_safe %>"/;


到:


$/'#ajax'/.html/"<%= escape_javascript/render/:partial => 'layouts/confessions'//.html_safe %>"/;

董宝中

赞同来自:

添加: remote = > true


<%= form_tag/ { :controller => :confessions, :action => :upvote, :id => conf.id }, { :method => :put, :remote=>true } / do %>


另外,阅读路线 rails, 要了解如何配置路由 PUT confessions/upvote.

http://guides.rubyonrails.org/ ... tions

要回复问题请先登录注册