rails使用ajax创建动作而不使用表单

时间:2013-09-22 07:49:27

标签: ruby-on-rails ruby-on-rails-3

我有一个用于创建帖子的帖子表单,因为它并不太困难。

在插入标题之前需要的是内容,我需要posts id以便我可以做更多的处理。

所以我决定创建一个列出所有类别和子类别的light box(contains no form)。单击我需要执行ajax请求的类别,通过在表中仅插入类别来创建记录。

这是我的jquery代码

    $('.selection').click(function(){
$('#category_id').val(category_id);
        $.ajax({
        type: "POST",
        url: '/posts.json',
        dataType: 'json'
        })
    })

这是我的创建动作

def create
    unless post_params.nil?
        @post = Post.new(post_params)
        if @post.save
            flash[:success] = 'Post added successfully'
            redirect_to action: :new
        else
            flash[:error] = 'Post cannot add. Please try again after some time'
            redirect_to action: :new
        end
    end

  end

如何修改上面的操作包以便ajax提交。任何人都可以帮忙。

1 个答案:

答案 0 :(得分:1)

您忘了在Ajax Call中发送数据。 你应该试试:

    $('.selection').click(function(){
      $('#category_id').val(category_id);
      $.ajax({
        type: "POST",
        url: '/posts.json',
        dataType: 'json'
        data: {
         id: the_id,
         other_param: the_other_param
        }
      })
    })

希望它会对你有所帮助!