rake 路由中没有删除和编辑路径
No Delete and Edit path in rake routes
我正在尝试放置一个简单的 link 来编辑和删除,但我看不到路径
rake 路由输出:
movie_reviews POST /movies/:movie_id/reviews(.:format) reviews#create
new_movie_review GET /movies/:movie_id/reviews/new(.:format) reviews#new
edit_movie_review GET /movies/:movie_id/reviews/:id/edit(.:format) reviews#edit
movie_review PATCH /movies/:movie_id/reviews/:id(.:format) reviews#update
PUT /movies/:movie_id/reviews/:id(.:format) reviews#update
DELETE /movies/:movie_id/reviews/:id(.:format) reviews#destroy
movies GET /movies(.:format) movies#index
POST /movies(.:format) movies#create
new_movie GET /movies/new(.:format) movies#new
edit_movie GET /movies/:id/edit(.:format) movies#edit
movie GET /movies/:id(.:format) movies#show
PATCH /movies/:id(.:format) movies#update
PUT /movies/:id(.:format) movies#update
DELETE /movies/:id(.:format) movies#destroy
root GET / movies#index
reviews_controller:
def destroy
@review.destroy
respond_to do |format|
format.html { redirect_to movie_path(@movie), notice: 'Review was successfully deleted.' }
format.json { head :no_content }
end
end
movies_controller:
def destroy
@movie.destroy
respond_to do |format|
format.html { redirect_to movies_url, notice: 'Movie was successfully destroyed.' }
format.json { head :no_content }
end
end
编辑路径:
<%= link_to 'Edit', edit_movie_review_path(@movie, @review) %>
我在 rails 这么新,先生,可怜我吧,请慢慢来:'(
它在那里
edit_movie_review GET /movies/:movie_id/reviews/:id/edit(.:format) reviews#edit
edit_movie GET /movies/:id/edit(.:format) movies#edit
movie DELETE /movies/:id(.:format) movies#destroy
movie_review DELETE /movies/:movie_id/reviews/:id(.:format) reviews#destroy
现在这里是您需要的 delete
电影和评论的链接。
= link_to 'Delete Movie', movie_path(@movie), method: 'delete'
= link_to 'Delete Review', movie_review_path(@movie, @review), method: 'delete'
与编辑类似,
= link_to 'Edit Movie', edit_movie_path(@movie)
= link_to 'Delete Review', edit_movie_review_path(@movie, @review), method: 'delete'
希望对您有所帮助!
不,我找到了一个答案,我需要通过 review
的 id
,我希望对其进行编辑。目前我没有传递它导致错误..问题出在路径
<%= link_to 'Edit', edit_movie_review_path(@movie, @review) %>
更改为:
<%= link_to 'Edit', edit_movie_review_path(@movie, review) %>
看起来很像不是吗?不过,我只是从上面的 review
中删除了 @
.. 真是个笑话.. 它已经拖了我 2 天了.. 但它值得
我正在尝试放置一个简单的 link 来编辑和删除,但我看不到路径
rake 路由输出:
movie_reviews POST /movies/:movie_id/reviews(.:format) reviews#create
new_movie_review GET /movies/:movie_id/reviews/new(.:format) reviews#new
edit_movie_review GET /movies/:movie_id/reviews/:id/edit(.:format) reviews#edit
movie_review PATCH /movies/:movie_id/reviews/:id(.:format) reviews#update
PUT /movies/:movie_id/reviews/:id(.:format) reviews#update
DELETE /movies/:movie_id/reviews/:id(.:format) reviews#destroy
movies GET /movies(.:format) movies#index
POST /movies(.:format) movies#create
new_movie GET /movies/new(.:format) movies#new
edit_movie GET /movies/:id/edit(.:format) movies#edit
movie GET /movies/:id(.:format) movies#show
PATCH /movies/:id(.:format) movies#update
PUT /movies/:id(.:format) movies#update
DELETE /movies/:id(.:format) movies#destroy
root GET / movies#index
reviews_controller:
def destroy
@review.destroy
respond_to do |format|
format.html { redirect_to movie_path(@movie), notice: 'Review was successfully deleted.' }
format.json { head :no_content }
end
end
movies_controller:
def destroy
@movie.destroy
respond_to do |format|
format.html { redirect_to movies_url, notice: 'Movie was successfully destroyed.' }
format.json { head :no_content }
end
end
编辑路径:
<%= link_to 'Edit', edit_movie_review_path(@movie, @review) %>
我在 rails 这么新,先生,可怜我吧,请慢慢来:'(
它在那里
edit_movie_review GET /movies/:movie_id/reviews/:id/edit(.:format) reviews#edit
edit_movie GET /movies/:id/edit(.:format) movies#edit
movie DELETE /movies/:id(.:format) movies#destroy
movie_review DELETE /movies/:movie_id/reviews/:id(.:format) reviews#destroy
现在这里是您需要的 delete
电影和评论的链接。
= link_to 'Delete Movie', movie_path(@movie), method: 'delete'
= link_to 'Delete Review', movie_review_path(@movie, @review), method: 'delete'
与编辑类似,
= link_to 'Edit Movie', edit_movie_path(@movie)
= link_to 'Delete Review', edit_movie_review_path(@movie, @review), method: 'delete'
希望对您有所帮助!
不,我找到了一个答案,我需要通过 review
的 id
,我希望对其进行编辑。目前我没有传递它导致错误..问题出在路径
<%= link_to 'Edit', edit_movie_review_path(@movie, @review) %>
更改为:
<%= link_to 'Edit', edit_movie_review_path(@movie, review) %>
看起来很像不是吗?不过,我只是从上面的 review
中删除了 @
.. 真是个笑话.. 它已经拖了我 2 天了.. 但它值得