如何使此AJAX请求针对其各自的控制器操作找到正确的URL?

时间:2011-04-26 04:54:23

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

我在一些支持自动完成的jquery代码中有这个AJAX请求:

$.ajax({type:"POST", url:("/showable_videos/create.js"), data:{video:{profile:val}}});

具有自动填充功能的此字段位于视频节目视图中。我从请求中得到了这个错误:

Started PUT "/showable_video/create.js" for 127.0.0.1 at Tue Apr 26 00:46:37 -0700 2011

ActionController::RoutingError (No route matches "/showable_videos/create.js"):

我正在尝试在showable_objects控制器中点击create方法:

def create
  @video = Video.find(params[:id])
  @showable_video = current_user.showable_videos.create(:video => @video, :profile => @profile)
  respond_to do |format|
     format.html 
     format.js
  end
end

如果您想查看更多代码,请与我们联系。

3 个答案:

答案 0 :(得分:0)

这有效:

$.ajax({type:"POST", url:("/showable_videos"), data:{video:{profile:val}}});

答案 1 :(得分:0)

默认情况下,只能通过查询直接访问控制器来访问Create方法。因此,您应该访问网址/showable_videos.js

答案 2 :(得分:0)

$。ajax({type:“POST”,url :(“/ showable_videos”),data:{video:{profile:val}}});这将有效