У меня есть маршрут, который выглядит следующим образом:Как создать форму Ruby on Rails?
map.newsletter '/newsletter', :controller => "newsletter" , :action => "newsletter_signup"
Там также является NewsletterController и модель Информационного бюллетеня. Дело в том, что я хотел оставить свой контроллер до одного простого метода, newsletter_signup. Там я просто проверяю, есть ли запрос типа post или типа get. Если это получается, я просто вернусь к статическому html-представлению с благодарностью за подписку на наш информационный бюллетень. Если это сообщение, я хочу создать новую модель информационного бюллетеня и подписать пользователя. В идеале я хотел бы встроить эту форму в свою домашнюю страницу, которая не называется контроллером рассылки новостей. Я не думал, что такие URL-адреса, как http://example/newsletter/1 или http://example/newsletter/new, имеют большое значение, поэтому способ настройки маршрута выше .. только http://example/newsletter работает.
Как я могу создать эту форму? Он принимает одно поле, просто текстовое поле, которое является электронным адресом пользователя. После того, как они попадут в submit, он должен отправить сообщение POST на контроллер информационного бюллетеня и метод newsletter_signup. Поскольку эта форма будет находиться в нижнем колонтитуле каждой страницы моего приложения, мне нужно сделать что-то вроде @newsletter = Newsletter.new в моем контроллере/действии по умолчанию?
Спасибо за совет. Кстати, я хотел бы сделать это Rails. Работа с каркасом противоречит интуиции. Можете ли вы помочь мне понять, почему то, что я делаю, - это не правильный способ этого? Имеют ли URL-адреса, такие как http: // example/newsletter/5, действительно смысл для подписки на рассылку, где я один раз в месяц отправляю сообщения по электронной почте о обновлениях продукта? – randombits