Вы, кажется, немного запутались в отношении использования каждого действия. Вот краткий обзор типичного использования RESTful:
Индекс -> просмотреть список элементов
Новый / Редактировать -> форма, где элементы добавляются или редактируются
Создать / обновить -> действие контроллера, при котором элементы создаются / обновляются
Причина, по которой файл маршрутов не приводит вас к индексации, заключается в том, что индекс не является действием, в котором сообщения обычно создаются или обновляются. Лучший способ - это ОТДЫХАТЬ. Если у вас нет очень необычной ситуации, лучший способ настроить вашу систему - это примерно так:
# routes.rb
resources :posts
# application.html.erb (or better: posts/_form.html.erb).
<% form_for @post do |f| %>
<% end %>
# posts controller, whichever action you want to use
def new
@post = Post.new
end
Поместив форму в частичную часть под названием form
, вы можете получить к ней доступ в new
, edit
или в любом другом месте, где вам нужно манипулировать сообщением в вашей системе.