Я довольно новичок в Rails3, я в основном создал леса subscribers
, я хочу, чтобы мое приложение реагировало только на действия new
и create
.
Итак, в config/routes.rb
я определил:
resources :subscribers, :only => [:new, :create]
Который работает таким образом
GET /subscribers => subscribers#new
POST /subscribers => subscribers#create
Теперь я хочу, чтобы мое приложение отображало ресурсы подписчиков на /
(root) вместо /subscribers
, поэтому я сделал следующее:
match '/' => "subscribers#new"
match '/' => "subscribers#create"
match '/' => "subscribers#thankyou"
resources :subscribers, :only => [:new, :create]
Что-то работает, но, вероятно, не СУЩЕСТВЕННАЯ вещь: вот мои проблемы:
- Когда вы возвращаетесь к форме после того, как проблема при создании браузера отображает URL
/subscribers
вместо /
, форма создается с помощью вспомогательного метода form_for(@subscriber)
, поэтому вспомогательный path
должен быть как-то не зависит от маршрута
- В идеале я даже не хочу, чтобы приложение отвечало на запрос
/subscribers
- Я заметил странную ошибку: при публикации формы в отключенном состоянии (с
/
, а затем при обновлении соединения выполняется обновление (запрос браузера на повторную отправку => OK), приложение Rails падает (не хотя есть стек ошибок, как это было на производстве), почему это так?
Также я попытался настроить маршрут следующим образом:
resources :subscribers, :only => [:new, :create] do
collection do
post '/' => :create
get '/' => :new
end
end
Что, вероятно, является СУШКОЙ, но не решает ни одну из этих проблем.
Я уверен, что это довольно просто, пожалуйста, помогите!