Ruby on rails rails 3.2删除对象url顺序

Ruby on rails rails 3.2删除对象url顺序,ruby-on-rails,activerecord,rails-routing,Ruby On Rails,Activerecord,Rails Routing,当我在我的index.html.erb页面上为图像调用“删除”操作时,它引用了正确的id等,但没有在url中正确排序。url应该看起来像http://localhost:3000/admin/albums/33/images/1,但它显示为http://localhost:3000/admin/albums/33/images.1。我知道它与格式有关,但我不确定如何修复它。当我把它放在删除操作中,admin\u album\u images\u path([@album,image]),结果是h

当我在我的index.html.erb页面上为图像调用“删除”操作时,它引用了正确的id等,但没有在url中正确排序。url应该看起来像
http://localhost:3000/admin/albums/33/images/1
,但它显示为
http://localhost:3000/admin/albums/33/images.1
。我知道它与格式有关,但我不确定如何修复它。当我把它放在删除操作中,
admin\u album\u images\u path([@album,image])
,结果是
http://localhost:3000/admin/albums/33/1/images.

路线

Admin::Application.routes.draw do
  get "albums/index"

  get "dashboard/index"

  namespace :admin do
    root :to => "dashboard#index"
    resources :dashboard
    resources :albums do
      resources :images
     end
    get "admin/album"
    end
    get "logout" => "sessions#destroy", :as => "logout"
  get "login" => "sessions#new", :as => "login"
  get "signup" => "users#new", :as => "signup"
    # resources :users
  resources :basic
    root :to => "basic#index"
控制器

class Admin::ImagesController < ApplicationController
    def index
        @album = Album.find(params[:album_id])
        @image = @album.images(params[:id])
        @images = Image.all
    end
    def new
        @album = Album.find(params[:album_id])
        @image = @album.images.new
    end
    def create
        @album = Album.find(params[:album_id])
        @image = @album.images.build(params[:image])
        if @image.save
            flash[:notice] = "Successfully added image!"
            redirect_to [:admin, :albums]
        else
            render :action => 'new'
        end
    end
    def show
        @album = Album.find(params[:id])
        @image = @album.images(params[:id])
    end
    def destroy
        @album = Album.find(params[:album_id])
        @image = @album.images(params[:id])
        @image.destroy
        redirect_to admin_albums_path
    end

end
class Admin::ImagesController“新建”
结束
结束
def秀
@album=album.find(参数[:id])
@image=@album.images(参数[:id])
结束
def销毁
@album=album.find(参数[:album\u id])
@image=@album.images(参数[:id])
@破坏图像
将\u重定向到管理\u相册\u路径
结束
结束
查看

<% @images.each do |image|%>
    <%= image.title %> </br>
    <%= image.description %> </br>
    <%= image.image_name %> </br>
    <%= button_to "Delete", admin_album_images_path(@album, image), :method => :delete, :style => "display: block; float: left;" %>
    <%= debug @image %>
<% end %>




:delete,:style=>“显示:块;浮动:左;”%>
您应该使用

admin_album_image_path(@album, image)
请注意,两者都是单数。您还可以将其更改为
[:admin,@album,image]
,这样您就不必担心路由的名称

默认情况下,一个附加参数将成为

admin_album_image_path(@album, image, :csv)
将转换为

/admin/albums/1/images/1.csv

等等,我明白了!你太棒了。。。这个错误已经困扰我好几天了