ruby-on-rails – ruby​​ on rails link_to删除方法无法正常工作

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – ruby​​ on rails link_to删除方法无法正常工作前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想使用以下代码删除帖子:
<%= link_to 'Destroy',post,:method => :delete,:onclick => "return confirm('Are you sure you want to delete this post?')" %>

这不起作用……它只是将我重定向回帖子(帖子/:id}

但是,如果我使用以下代码,它的工作原理

<%= button_to 'Destroy',method: :delete,:onclick => "return confirm('Are you sure you want to delete this post?')" %>

在这种情况下,是否可以使link_to表现为button_to?

编辑:破坏控制器功能

def destroy
    @post = Post.find(params[:id])
    @post.destroy

    respond_to do |format|
      format.html { redirect_to posts_url }
      format.json { head :no_content }
    end
  end

单击“销毁”按钮时记录:

Started GET "/posts/14" for 127.0.0.1 at 2012-10-21 15:38:28 +0300
Processing by PostsController#show as HTML
  Parameters: {"id"=>"14"}
  Post Load (0.4ms)  SELECT `posts`.* FROM `posts` WHERE `posts`.`id` = 14 LIMIT 1
  Rendered posts/show.html.erb within layouts/application (0.6ms)
  User Load (0.4ms)  SELECT `users`.* FROM `users` WHERE `users`.`id` = 1 LIMIT 1
Completed 200 OK in 7ms (Views: 5.4ms | ActiveRecord: 0.8ms)
[2012-10-21 15:38:28] WARN  Could not determine content-length of response body. Set content-length of the response or set Response#chunked = true

路线:

devise_for :users

  resources :users

  resources :posts

  match '/about' => 'about#index'

  # You can have the root of your site routed with "root"
  # just remember to delete public/index.html.
  root :to => 'index#index'

  # See how all your routes lay out with "rake routes"

  # This is a legacy wild controller route that's not recommended for RESTful applications.
  # Note: This route will make all actions in every controller accessible via GET requests.
  # match ':controller(/:action(/:id))(.:format)'
  match '*a',:to => 'error#routing'

解决方法

你必须添加
//= require jquery
//= require jquery_ujs

在javascripts / application.js文件

二,检查布局文件,

javascript_include_tag "application"

包含与否?

希望这有帮助.

猜你在找的Ruby相关文章