0

我希望能够匹配一个id数组而不是单个 id。

我在路由文件中有这个。

resources :pages do
  member do
    get "mass_edit"
  end
end

但正如你所知道的,它只支持格式的路由pages/1/mass_edit

我需要支持类似pages/1/2/3/mass_edit或 pages/1/2/3/4/10/111/1111/mass_edit` 等格式的路线。像这样的 URL 是通过执行 mass_edit_page_path([1,2,3]) 生成的。

有没有办法做到这一点?

4

1 回答 1

1

也许这可以解决问题:

resources :pages do
  match "mass_edit/:ids" => 'pages#mass_edit'
end

然后在你的控制器中:

def mass_edit
  parse_ids
  # do your edit thing using @ids
end

def parse_ids
  @ids = params[:ids].split(',').map(&:to_i).uniq
end

网址:

/pages/mass_edit/1,5,3,24,63
于 2013-02-20T19:55:01.587 回答