javascript - 使用 javascript 查询额外的 Rails 数据

标签 javascript jquery ruby-on-rails

我有一个 Listing#index 页面,其中显示 50 个列表。我想要一个“更多”按钮来触发 javascript 查询我的 MySql 数据库以获取其他列表,然后附加到现有 50 个列表而不刷新页面。

我该怎么办?我正在使用 Rails 和 jQuery。我了解 Rails,但对 Javascript 很陌生。

非常感谢您的帮助。

最佳答案

有很多方法可以解决这个问题。

1 您可以渲染一个“...js.erb”模板,该模板将使用附加方法(http://api.jquery.com/append/)或其他操作逻辑执行一些 jquery 代码。不要忘记为按钮设置 :remote 属性。我认为这种方法对您来说是最简单的。

例如:

在 Controller 中:

def get_posts
  @posts.all # or something you need
  render "_get_posts.js.erb"
end

_get_posts.js.erb:

<% @posts.each do |post| %>
  $('#posts').append("<%= post.title %>");
<% end %>

此外,在 js.erb 中,您可以渲染部分内容或执行您想要的操作。

2 将逻辑绑定(bind)到按钮的单击事件(http://api.jquery.com/click/),然后通过多种方式向服务器发送ajax查询(http://api.jquery.com/category/ajax/),然后渲染您选择的数据(json、html、xml),并在客户端的 ajax 回调函数中捕获它并附加到您的页面。

关于javascript - 使用 javascript 查询额外的 Rails 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9346922/

相关文章:

javascript - 如何让 MutationObserver 多次工作?

javascript - 在 textarea 中呈现 HTML

javascript - 如何在 jQuery 中删除当前窗口中的所有框架?

css - 将 CSS 添加到 Rails 表单助手

ruby-on-rails - 如何修复以下代码的路由错误?

javascript - AJAX 从服务器请求另一个 JavaScript 或函数

javascript - 使用javascript获取用户名到sql select中where子句的值

javascript - 在 Json 中调用数组

javascript - 如何使用 jQuery 一起显示选定的值?

ruby-on-rails - 在 Rails 集成测试中更改请求环境变量