Ruby on rails 3 没有与[删除]匹配的路由”/型号.id“;错误
我一直收到这个错误,但我在这里没有找到解决这个错误的答案 我有一本书,用户和类似的模型如下:Ruby on rails 3 没有与[删除]匹配的路由”/型号.id“;错误,ruby-on-rails-3,ruby-on-rails-3.2,routes,Ruby On Rails 3,Ruby On Rails 3.2,Routes,我一直收到这个错误,但我在这里没有找到解决这个错误的答案 我有一本书,用户和类似的模型如下: class Book < ActiveRecord::Base attr_accessible :title has_many :likes has_many :users, through: :likes end class User < ActiveRecord::Base attr_accessible :name has_many :likes has_
class Book < ActiveRecord::Base
attr_accessible :title
has_many :likes
has_many :users, through: :likes
end
class User < ActiveRecord::Base
attr_accessible :name
has_many :likes
has_many :books, through: :likes
end
class Like < ActiveRecord::Base
attr_accessible :book, :user
belongs_to :book
belongs_to :user
end
我有一个链接,应该删除一个现有的,如:
<% like = book.likes.where(:user_id => @user.id).first %>
<%= link_to "destroy like", likes_path(like.id), :method => :delete %
将您的
likes\u路径(like.id)
更改为like\u路径(like)
并享受:)我有相同的错误,但原因不同。我在这里发帖,以防有人碰到这个问题。在我的例子中,问题是我使用的控制器与我试图删除的模型行不同。我正在使用Users controller删除一个签出。有趣的是,我可以使用以下代码从第三个模型(课程)中删除一行:
<%= link_to 'Delete', c.course, method: :delete, data: { confirm: 'Are you sure?' } %>
当我将代码移动到使用CheckoutsController和关联视图而不是UsersController时,错误得到了解决。一定是Rails迫使我使用正确的控制器
<% like = book.likes.where(:user_id => @user.id).first %>
<%= link_to "destroy like", likes_path(like.id), :method => :delete %
No route matches [DELETE] "/likes.7"
<%= link_to 'Delete', c.course, method: :delete, data: { confirm: 'Are you sure?' } %>
<%= link_to 'Delete', c, method: :delete, data: { confirm: 'Are you sure?' } %>