0

私が持っている

<%= link_to 'Destroy', project, :method => :delete, :data => { :confirm => 'Are you sure?'       } %>

しかし、ビューで[破棄]をクリックすると、プロジェクトが表示されます(にルーティングされます/project/:id

# routes.rb
resources :users

resources :projects do
  resources :issues  
end

resources :issues

resources :sessions


root :to => "users#index"

match "/auth/:provider/callback" => "sessions#create"
match "/signout" => "sessions#destroy", :as => :signout


# projects_controller.rb
def destroy
  @project = Project.find(params[:id])
  @project.destroy

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

しかし、「編集」はうまく機能します。どこに問題があるのか​​知っていますか?

そして、aplication.html.erbがあります

#aplication.html.erb
<!DOCTYPE html>
<html>
<head>
  <title>Project manager</title>
  <%= stylesheet_link_tag    "application", :media => "all" %>
  <%= javascript_include_tag "application" %>
  <%= csrf_meta_tags %>
</head>
<body>

<% if current_user %>
    Welcome <%= current_user.username %>
    <%= link_to "Signout", signout_path %>
<% else %>
    <%= link_to "Sign in with twitter", "/auth/twitter" %>
<% end %>
<%= yield %>

</body>
</html>

そして最後にaplication.js

#aplication.js
= require jquery
//
= require jquery_ujs
//
= require_tree .
//
= require prototype_nested_form
//
= require jquery_nested_form

= require bootstrap

PS:サーバーの再起動は役に立ちません

4

2 に答える 2

1

私はそれを解決しました。理由はわかりませんが、この2行を削除すると

#aplication.js
= require jquery
= require jquery_ujs

すべてが正常に動作します。

于 2012-11-23T13:01:54.673 に答える
0

これを試して

<%= link_to 'Destroy', project, :method => :delete, :confirm => 'Are you sure?' %>

ドキュメントを参照してください:http ://api.rubyonrails.org/classes/ActionView/Helpers/UrlHelper.html#method-i-link_to

更新 destroy linkすると、URLは次delete methodのようになりますshowが、確認するとそれがわかります。destroyメソッドとshowメソッドはどちらも同じURLを表示しますが、メソッドは異なります。表示の場合はgetであり、破棄の場合はdeleteメソッドです。show actionget methodrake routes

于 2012-11-21T08:59:42.013 に答える