在http://guides.rubyonrails.org/getting_started.html中使用rails-5.0.2和Ruby 2.4.1
指南使用
[comment.article, comment]
我喜欢学习如何使用它,这是什么意思。 我只是不理解,找不到任何文件。
<%= link_to 'Destroy Comment', [comment.article, comment],
method: :delete,
data: { confirm: 'Are you sure?' } %>
而不是
<%= link_to 'Destroy Comment', article_comment_path,
method: :delete,
data: { confirm: 'Are you sure?' } %>
哪个不行(包括article_comment_path(评论) 错误显示:
ActiveRecord::RecordNotFound in CommentsController#destroy
<%= link_to 'Destroy Comment', article_comment_path(comment)
这里路线
Prefix Verb URI Pattern Controller#Action
article_comments GET /articles/:article_id/comments(.:format) comments#index
POST /articles/:article_id/comments(.:format) comments#create
new_article_comment GET /articles/:article_id/comments/new(.:format) comments#new
edit_article_comment GET /articles/:article_id/comments/:id/edit(.:format) comments#edit
article_comment GET /articles/:article_id/comments/:id(.:format) comments#show
PATCH /articles/:article_id/comments/:id(.:format) comments#update
PUT /articles/:article_id/comments/:id(.:format) comments#update
DELETE /articles/:article_id/comments/:id(.:format) comments#destroy
articles GET /articles(.:format) articles#index
POST /articles(.:format) articles#create
new_article GET /articles/new(.:format) articles#new
edit_article GET /articles/:id/edit(.:format) articles#edit
article GET /articles/:id(.:format) articles#show
PATCH /articles/:id(.:format) articles#update
PUT /articles/:id(.:format) articles#update
DELETE /articles/:id(.:format) articles#destroy
root GET / articles#index
答案 0 :(得分:2)
它是Rails中嵌套路由的缩写。当您提供link_to这样的数组时,它将转换为URL,例如:/ articles / 1 / comments / 2。大多数人只是使用路线助手,因为他们更明确(即article_comment_path(article_id: @article.id, id: @comment.id)
发布您的控制器代码以获取destroy方法,以及您在设置正确路径后所遇到的任何错误。
答案 1 :(得分:0)
如果显示&lt;%= [comment.article,comment]%&gt;我可以看到 它显示了
[#<Article id: 1, title: "Title of next", text: "sdfsf", created_at: "2017-04-19 01:43:39", updated_at: "2017-04-19 01:43:39">, #<Comment id: 15, commenter: "sdfdsf", body: "sfsdfsd", article_id: 1, created_at: "2017-04-19 02:50:39", updated_at: "2017-04-19 02:50:39">]
我必须假设Rails-5.0.2通过选择每个id知道该怎么做 并选择正确的销毁路线。
我真的无法在这背后得到更好的逻辑。
确定返回使用路线指南
<td><%= link_to 'Destroy', article_comment_path(@article,comment), method: :delete, data: { confirm: 'Are you sure?' } %></td>
那么这个工作完美!所以我坚持这个。