Ajax 调用不更新 Rails 上的内容
ajax call not updating content on rails
>我试图在我的应用程序中实现一点 Ajax 似乎可以正常工作,但在执行操作后它没有更新页面。
我将 Ajax 添加到我的销毁方法
def destroy
@item = Item.find(params[:id])
@item.user = current_user
if @item.destroy
flash[:notice] = "Item Completed"
else
flash[:alert] = "Item was unable to be marked completed "
end
respond_to do |format|
format.html
format.js
end
end
我已经用remote: true
更新了我的 _item.html.erb 和 _form.html.erb 部分
<%= content_tag :div, class: 'media', id: "item-#{item.id}" do %>
<div class="media">
<div class="media-body">
<small>
<%= item.name.titleize %>
| submitted <%= time_ago_in_words(item.created_at) %>
<% if current_user == @user %>
<%= link_to "Completed ", [@user, item], method: :delete,remote: true, class: 'glyphicon glyphicon-ok' %><br>
<% end %>
</small>
</div>
</div>
<% end %>
_from.html.erb
<%= form_for [@user, item ], remote: true do |f|%>
<div class="form-group">
<%= f.label :name, class: 'sr-only' %>
<%= f.text_field :name , class: 'form-control', placeholder: "Enter a new item " %>
</div>
<%= f.submit "Submit Item", class: 'btn btn-primary pull-right' %>
<% end %>
User#show view <div class='new_item'>
<%= render :partial => 'items/form', :locals =>{:item => Item.new} %>
</div>
<% end %>
<div class='js-items'>
<% @user.items.order('created_at DESC').each do |item| %>
<%= render :partial => 'items/item' , :locals => {:item => item } %>
</div>
销毁.js.erb
$('#item-<%= @item.id %>').hide();
就像我之前说的,当我单击删除按钮时,该项目将被删除,但我需要刷新页面才能看到更新的页面。任何想法我可能做错了什么,任何朝着正确方向的推动将不胜感激!
尝试在方法本身中呈现 java 脚本并检查,
def destroy
@item = Item.find(params[:id])
@item.user = current_user
if @item.destroy
flash[:notice] = "Item Completed"
else
flash[:alert] = "Item was unable to be marked completed "
end
respond_to do |format|
format.html
format.js { render
$('#item-<%= @item.id %>').hide();
}
end
end
相关文章:
- Rails操作只调用一次,但我在ajax中每秒钟都调用一次
- Ajax调用ERror Cross Origin REquest:在rails中自动完成大学列表
- Rails——处理多态关联上的Ajax destroy调用
- Rails jquery ajax调用未启动
- Rails:通过调用Ajax重定向
- Rails:如何在jQuery(.js.erb)中调用“create”操作
- 从javascript调用Rails Controller/action提交表单
- Window.onload 未被调用 [Ruby on Rails] [Vanilla Javascript]
- 在Rails中使用remote:true在Chrome中有效,但在Safari中无效——从js.erb文件调用succe
- 在ajax调用后在rails中显示通知
- 将rails路由调用到CSS(在haml中)
- 如何确保Rails资产管道中的JQuery脚本在控制器特定的JS之后被调用
- 将状态传递到Ajax调用ReactJS和Rails中
- 需要帮助通过ajax调用将javascript散列发送到rails操作
- Rails使用ajax调用更新多态对象的表部分
- JQuery函数阻止Rails远程调用
- Rails:在HTML中调用to_json方法
- 如何从Ruby/Rails调用按钮的特定实例.each循环,当它们都具有相同的类时
- Rails 3.1 -调用AJAX请求两次
- 从控制器Ruby on Rails 3.2.9调用javascript