在rails中对控制器操作进行ajax调用
Posted
技术标签:
【中文标题】在rails中对控制器操作进行ajax调用【英文标题】:making an ajax call to controller action in rails 【发布时间】:2013-06-25 00:10:37 【问题描述】:我正在尝试对我的控制器进行 ajax 调用
class PatientRecordController < ApplicationController
def export
....
end
end
在我的 javascript 文件中
$(document).ready(function()
freezeTopRow($('#dataTable'));
$("#export").click(function()
$.ajax(url: "patient_record/export", type: "POST");
);
);
当我检查元素和调试以及单击页面上的导出标记时。我点击了该功能,但它永远不会到达控制器
我还有 2 个控制器和 2 个视图。在我的另一个控制器和视图中,我做同样的事情并且它有效
【问题讨论】:
【参考方案1】:你有没有检查过你routes.rb
有类似的东西:
post 'patient_record/export'
也许 Rails 不知道路由,所以 ajax 不起作用(如果您可以从浏览器执行操作,则意味着您只有一个 GET
集,您可以检查更改ajax 调用中的请求)
【讨论】:
【参考方案2】:您还需要在config/routes.rb
文件中为export
操作提供路由,例如
resources :patient_records do
member do
post :export
end
end
您可以通过运行rake routes | grep 'export'
来检查它是否已经存在。
【讨论】:
...我正要对您的回答发表类似的评论。 :)以上是关于在rails中对控制器操作进行ajax调用的主要内容,如果未能解决你的问题,请参考以下文章