Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 为什么';Rails中的AJAX调用不起作用吗?_Ruby On Rails_Ajax - Fatal编程技术网

Ruby on rails 为什么';Rails中的AJAX调用不起作用吗?

Ruby on rails 为什么';Rails中的AJAX调用不起作用吗?,ruby-on-rails,ajax,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

在我的路线下,我有:

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'})
我收到,
POSThttp://localhost:3000/todos 400(错误请求)

为什么会发生这种情况?我如何才能以正确的方式进行


提前谢谢

您的帖子数据应该如下所示:

url: "/todos.js", # sometimes helps
data: "todo[name]=Andrew&todo[done]=false"

我需要在某个地方有一个todos.js文件吗?这也会产生同样的消息<代码>400,错误的请求为什么这个有效,而不是我上面的?是因为我有
参数require(:todo)