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'

希望对您有所帮助!

不,我找到了一个答案,我需要通过 reviewid,我希望对其进行编辑。目前我没有传递它导致错误..问题出在路径

<%= link_to 'Edit', edit_movie_review_path(@movie, @review) %>

更改为:

<%= link_to 'Edit', edit_movie_review_path(@movie, review) %>

看起来很像不是吗?不过,我只是从上面的 review 中删除了 @.. 真是个笑话.. 它已经拖了我 2 天了.. 但它值得