ruby-on-rails-3 – Rails 3 link_to删除destory方法调用show方
发布时间:2020-12-17 02:01:06 所属栏目:百科 来源:网络整理
导读:嘿,我已经看到了几个帖子,但我仍然遇到调用问题:method = ‘删除’并定向到我的控制器的show方法. destroy方法按预期工作,因为它删除了注释,但在请求完成后,它会在GET上抛出404.这是代码: %= link_to 'delete',"/events/#{@event.id}/comments/#{comment.i
嘿,我已经看到了几个帖子,但我仍然遇到调用问题:method => ‘删除’并定向到我的控制器的show方法. destroy方法按预期工作,因为它删除了注释,但在请求完成后,它会在GET上抛出404.这是代码:
<%= link_to 'delete',"/events/#{@event.id}/comments/#{comment.id}.js",:confirm => 'Are you sure?',:method => :delete,:remote => true %> 这是控制器方法: def destroy @comment = @event.comments.find(params[:id]) @comment.destroy redirect_to do |format| format.html # redirect_to @event,:notice => "comment deleted" } format.js { render 'destroy.js.erb' } end end 我听说这可能是由于没有使用button_to,但我尝试使用button_to而不是link_to,但这也是做同样的事情. 我也听说过这可能会导致你在设置中使用jquery的方式遇到一些问题,但我觉得我对此表示怀疑,但这是我在jquery中调用的方式以防万一(application.html.erb) ): <%= javascript_include_tag 'jquery-1.5.2.min.js','rails','application' %> <%= javascript_include_tag 'jquery-ui-1.8.17.custom.min.js' %> 当我观看rails服务器输出时,我看到它说: Redirected to http://0.0.0.0:3000/events/1/comments/35 Completed 302 Found in 132ms ACTION NAME application Started GET "/events/1/comments/35" for 127.0.0.1 at Wed Feb 08 16:31:43 -0800 2012 AbstractController::ActionNotFound (The action 'show' could not be found for CommentsController): 谢谢您的帮助! 解决方法
Rails 3.1和更高版本为我们清理了很多… rails.js已经不见了. Jquery_ujs是gem的一部分,但该文件不应该在您的javascript目录中:
具体来说,我的jquery_ujs文件很旧,仍然“生活”在我的assets / javascript目录中.它仍然有不推荐使用的.live方法.删除文件!! 保持宝石’jquery-rails’,’?> 2.1’#REF: https://github.com/rails/jquery-ujs 保持// = require jquery和// = require jquery_ujs和// = require_tree. 在您的application.js文件中 确保更新gem和bundle install以获取最新的gem. 如果抛出javascript错误,就像我的“偷偷摸摸”的情况一样,其余的link_to js将无效.现在删除和确认对话框工作正常.一个古老的jquery_ujs是罪魁祸首. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |