使用AJAX和Rails教程

时间:2014-06-14 22:44:18

标签: ruby-on-rails ruby ajax

我对RoR很新,现在我正处于使用内置RoR帮助器渲染视图的时候。但是,我想使用Ruby和前端使用纯HTML,CSS,Javascript,jQuery,AJAX编写后端。我想知道是否有人可以给我一个关于如何执行以下操作的教程:

  • 使用AJAX加载数据(我想到了这一点,但如果我能阅读更多有关该主题的教程,那就太棒了)。
  • 使用AJAX更新/编辑数据
  • 如何格式化我获取的JSON数据 - 例如将数据放入表格等

我做了很多自己的搜索,但我找不到整体教程......提前致谢!!

1 个答案:

答案 0 :(得分:1)

Updating from database with ajax

Live editing with ajax

Some helpful ajax snippits

这些可能会有所帮助。

简单的方法是使用rails来执行此操作。我会推荐它非常简单。

Here is设置指南。

Heres a great链接也可以提供帮助。

基础是你在控制器中创建一个动作

def create
    @project = Project.new(project_params)
    respond_to do |format|
      if @project.save
        flash.now[:notice] = 'Project added successfully'
        format.html { redirect_to projects_path }
        format.js { }
      else
        @created = false
        format.html { render 'new' }
        format.js { render 'create.js.erb' }
      end
    end
  end

在这里,您可以看到create操作被触发的时间,如果它保存,则添加项目并具有 format.html用于备份,但尝试使用format.js

format.js呈现create.js.erb,其中混合使用javascript和erb来更新您的网页。

这只是一个基本示例,您可以使用JSON做更多事情。

My create.js.erb

<%if !defined? @created %>
  window.location.hash = ''
  $("#section-container").remove()
  $('#home h3 + a').after("#{j( render 'projects/project_boxes')}")
<% else %>
  $('.modal-dialog').css('max-height', '30em')
  $("#add-project").replaceWith("#{j(render 'projects/add_project')}")
<% end %>

我的erb可能会关闭。