1

所以,我有以下内容routes.rb

scope(path_names: { new: "register" }) do
  resources :accounts
end

这很有效,因为它会生成一条/accounts/register路线,但想将其更改为简单地说/register. 我知道我可以使用match "/register" => "accounts#new",但我想知道是否有更好的方法来实现这一点,因为这仍然会使/accounts/register路线“开放”。我可能可以通过使用将其重命名为晦涩的名称{new: "pygmy_puff"},但我不确定这是否是正确的方法。

我真的很想把这件事做对。

谢谢

4

2 回答 2

1

就个人而言,我不会担心额外的路线,并使用额外的匹配语句。期待rails 4,虽然我认为用http方法编写会更好:

get "/register" => "accounts#new"
于 2013-01-26T01:28:11.803 回答
1

试试这个:

match "/register" => "accounts#new"
# ...
 scope(path_names: { new: "register" }) do
  resources :accounts, :except => :new
end

以该顺序。

于 2013-01-26T01:38:17.343 回答