Substituindo uma rota de recurso para / (root) no Rails3: não alterando o assistente de caminho?
Eu sou bastante novo no Rails3, basicamente criei umsubscribers
andaimes, só quero que meu aplicativo responda anew
ecreate
ações.
Então emconfig/routes.rb
Eu defini:
resources :subscribers, :only => [:new, :create]
O que funciona dessa maneira
GET /subscribers => subscribers#new POST /subscribers => subscribers#create
Agora, quero que meu aplicativo exiba os recursos de assinantes em/
(raiz) em vez de/subscribers
, então aqui está o que eu fiz:
match '/' => "subscribers#new" match '/' => "subscribers#create" match '/' => "subscribers#thankyou" resources :subscribers, :only => [:new, :create]
O que de alguma forma funciona, mas provavelmente não é a coisa mais SECA: aqui estão os problemas que tenho:
Ao retornar ao formulário após um problema em uma criação, o navegador exibe o/subscribers
URL em vez de apenas/
, o formulário é criado usando oform_for(@subscriber)
método auxiliar, então opath
O ajudante não deve ser afetado pela rotaIdealmente, nem quero que o aplicativo responda a uma solicitação em/subscribers
Percebi um bug estranho ao postar o formulário desconectado (de/
e, em seguida, fazendo uma atualização quando a conexão volta (o navegador solicita o reenvio => OK), o aplicativo Rails falha (não tenho a pilha de erros, pois estava em produção), por que isso?Além disso, tentei configurar a rota desta maneira:
resources :subscribers, :only => [:new, :create] do collection do post '/' => :create get '/' => :new end end
O que provavelmente é mais seco, mas não corrige nenhum desses problemas.
Estou certo de que isso é algo bastante simples, por favor, ajude!