为什么在Rails中这个AJAX调用不起作用?

时间:2014-03-16 03:29:50

标签: ruby-on-rails ajax

在我的路线下,我有这个:

POST   /todos(.:format)               todos#create

这是create动作:

def todo_params
    params.require(:todo).permit(:name, :done)
end

def create
    @todo = Todo.new(todo_params)
    @todo.user = current_user.email
    if @todo.save
        redirect_to todos_path, :notice => "Your todo item was created!"
    else
        render "new"
    end
end

现在,当我进入命令行,并尝试运行此代码段时:

 $.ajax({
            type: "POST",
            url: "/todos",
            data: 'name="Andrew"&done=false'})

我收到了,POST http://localhost:3000/todos 400 (Bad Request)

为什么会发生这种情况,我该如何正确地做到这一点?

提前致谢!

2 个答案:

答案 0 :(得分:1)

你的POST数据应该是这样的:

data: "todo[name]=Andrew&todo[done]=false"

答案 1 :(得分:0)

url: "/todos.js", # sometimes helps