javascript - Rails AJAX 快捷方式?

标签 javascript ruby-on-rails ajax

在表单或其他东西上使用remote:true,并使用:js从 Controller 响应,我们可以告诉rails执行一些javascript文件。

例如,如果您要销毁用户。您将拥有用户 Controller 和销毁操作。然后,您将拥有一个文件 views/users/destroy.js.erb ,其中包含以下内容:

$("ul#users").html("<%= j render partial: 'user_list' %>");

我的问题是...是否有一个快捷方式可以将该 javascript 放入 Controller 中,这样我就不必将这些小文件散落在我的应用程序中?如果我只用一些实例变量渲染部分内容,而不渲染其他内容,我希望看到类似的内容:

respond_with render :js, with: 'partial_foo', on: '#selector .bar'

有这样的捷径吗?

最佳答案

我可以向您推荐的唯一捷径是使用json并使用不显眼的JS处理响应:

#view
<%= form_for @variable, remote: :true, method: :json %>

#controller
respond_to :json, :html

def action
    respond_with @variable
end

JSON 发送小型序列化数据对象,这意味着您不必处理任何文件,并且可以根据需要处理数据:

#app/assets/javascripts/application.js
$(element).on("ajax:success", function(data) {
    message = JSON.stringify(data);
    alert(message.attribute);
});

如果你喜欢这个想法,我可以回来提供一些处理部分的想法

关于javascript - Rails AJAX 快捷方式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23305621/

相关文章:

javascript,if语句中的条件用于识别图像src

javascript - Kendo Tree,从一些节点开始,然后动态加载其余节点

ruby-on-rails - 多个复选框值已保存但未以 Rails 形式加载

ruby-on-rails - Sublime Text 3 不是 Rails/Ruby 突出显示语法

ruby-on-rails - ruby install Rails 出现错误 ---无法构建 gem native 扩展。(Windows 平台)

javascript - Mongoose 预保存使用不正确的 "this"上下文?

javascript - Service Workers 缓存不更新

javascript - AJAX 请求不适用于本地主机 CORS 策略

php - 没有提交的单选按钮值到mysql

javascript - AJAX GET 未在页面加载时更新 Javascript 变量