link_to 'Destroy', [comment.article, 评论],
link_to 'Destroy', [comment.article, comment],
在 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
Rails中嵌套路由的缩写。当您提供 link_to 这样的数组时,它将转换为 URL,例如:/articles/1/comments/2。大多数只使用路由助手,但是因为它们更明确(即 article_comment_path(article_id: @article.id, id: @comment.id)
Post destroy 方法的控制器代码,以及由于设置了正确的路由而出现的任何错误。
据我所知,如果显示 <%= [comment.article, comment] %>
它显示
[#<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>
好吧,这一个完美!所以我坚持这个。
在 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
Rails中嵌套路由的缩写。当您提供 link_to 这样的数组时,它将转换为 URL,例如:/articles/1/comments/2。大多数只使用路由助手,但是因为它们更明确(即 article_comment_path(article_id: @article.id, id: @comment.id)
Post destroy 方法的控制器代码,以及由于设置了正确的路由而出现的任何错误。
据我所知,如果显示 <%= [comment.article, comment] %> 它显示
[#<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>
好吧,这一个完美!所以我坚持这个。