如何使这个AJAX请求命中相应控制器动作的正确URL ?



我有这个AJAX请求在一些jquery代码中启用自动完成:

$.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

如果你想看更多的代码,请告诉我。

Create方法默认只能通过post查询直接访问控制器。所以你应该访问url /showable_videos.js,而不是

这行得通:

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

$。ajax({类型:"文章",url:("/showable_videos"),数据:{视频:{简介:val}}});

相关内容

  • 没有找到相关文章

最新更新