Рельсы маршрутизации только с идентификатором в URL и редактировать форму - PullRequest
0 голосов
/ 29 апреля 2011

Мое приложение имеет Article модель, а URL для статей выглядит следующим образом

  www.mysite.com/21
  www.mysite.com/22

В routes.rb я установил

map.article '/:id', :controller => 'articles', :action => 'show'

Все отлично работает.

При редактировании статьи форма не обновляется, так как действие формы указывает путь к статье

Например, это сгенерированная форма

<form action="/48" class="edit_article" enctype="multipart/form-data" id="edit_article_48" method="post">
.
.
.
</form>

Когда я отправляю форму, она просто переходит на страницу показа статьи.

Это мой _form.html.erb частичный

<% form_for @article, :html => { :multipart => true } do |f| %>
.
.
.
<% end %>

Кто-нибудь сталкивался с такой проблемой раньше? Пожалуйста, помогите

Спасибо

1 Ответ

0 голосов
/ 29 апреля 2011

Вы должны настроить свою маршрутизацию так, чтобы запросы на получение извлекали статью, в то время как запросы put / post вызывают некоторые другие действия, которые будут обновлять / создавать статьи.

см. руководство по направляющим для маршрутизации для получения дополнительной информации. Кстати, я предполагаю, что вы используете рельсы 2.

Я бы порекомендовал вам использовать RESTful маршрутизацию. Как:

map.root :controller => 'articles'
map.resources :article

, то:

GET www.mysite.com/21 will go to show
PUT www.mysite.com/21 will go to update
POST www.mysite.com/21 will go to create

.. и т.д.

...