仅使用url中的id和表单编辑来路由路由

时间:2011-04-29 08:21:56

标签: ruby-on-rails rails-routing

我的应用程序有一个Article模型,文章的网址就像这样

  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 :(得分:0)

您应该配置路由,以便在put / post请求调用其他一些将更新/创建文章的操作时,获取请求会检索文章。

请参阅rails guide for routing以获取更多信息。顺便说一下,我假设您使用的是rails 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

...等