2013-03-18 35 views
2

我正在使用Rails 3和X-editable进行就地编辑。添加必要的文件后,当我尝试更新时,它会返回No route matches [POST]就地编辑X-editable在Rails中没有路由匹配[POST]

我曾尝试下面的代码不同的线路:

<a href="#" id="username" data-type="text" data-pk="1" data-url="/post" data-original-title="Enter username">superuser</a> 

<a href="#" id="username" data-type="text" data-resource="post" data-pk="1" data-url="/post" data-original-title="Enter username">superuser</a> 

<a href="#" id="username" data-type="text" data-model="post" data-pk="1" data-url="/post" data-original-title="Enter username">superuser</a> 

我已经编写我的控制器接受JSON,但没有数据似乎给控制器的。

我错过了什么?谢谢。

+3

你有没有路线确定在你的routes.rb文件中? – muttonlamb 2013-03-18 09:28:28

+0

是的,我有。正常编辑/更新工作正常。 – Victor 2013-03-18 16:27:05

+0

这条消息告诉你,它正在通过HTTP接收一条POST请求,但它不知道这条路由。你可以附上你的路线文件和与之相关的控制器部分,以及其中的窗体部分? – muttonlamb 2013-03-19 00:01:09

回答

2

@muttonlamb是正确的。我应该正确地检查。 post不在路线中,而put是。

根据Rails routing guide,要编辑现有记录,应使用put,而不是postpost只适用于新纪录。

默认AJAX调用进行X编辑是post,但我可以用它更改为put如下:

$().editable({ 
    ajaxOptions: { 
    type: 'put' 
    } 
}); 

更多选择可以在这里找到:http://vitalets.github.com/x-editable/docs.html#editable

相关问题