Rails 4:使用AJAX在同一页面上动态呈现表单

时间:2015-03-21 00:47:20

标签: javascript jquery ruby-on-rails ajax ruby-on-rails-4

我似乎在查找有关如何在同一视图上动态呈现表单的一些好信息时遇到了一些麻烦。我的意思是,例如,用户点击"添加子元素"在"元素"的节目视图上链接,然后呈现用于添加子元素的小形式,当然还有用于编辑现有子元素的相同类型的东西,在同一节目上使用AJAX / JS / jQuery或其他东西查看。

我正在尝试REST-in-place,但无济于事,因为我有几个嵌套对象(其中一些在其他嵌套对象中),并且这似乎不适合在线编辑。< / p>

我认为我缺乏信息来自使用不正确的搜索术语,所以任何帮助都会被指向正确的方向。

提前致谢。

1 个答案:

答案 0 :(得分:2)

有很多不同的方法,一种是使用远程表单,例如railscasts example或详细的answer on this question。另一个是从jQuery调用控制器并渲染(类似于我的代码):

在javascript中:

$(document.body).on('click', '#user-list-body', function (e) {
    var url = '/get_user_list/
    $.ajax({
        url: url,
        datatype: 'html',
        type: 'GET',
        success: function(data){
            $('#user_table tbody').append(data);
        }
     });
});
控制器中的

注意:大幅简化版本):

  def get_user_list
     @users = User.all
    respond_to do |format|
      format.html { render :layout => false, :partial => 'users/users_list'}
    end
  end