0

我正在构建的 Rails 站点中有以下 form_for 声明:

form_for(form_question, :url => { :controller => "form_questions", :action => "edit", :id => form_question.id }) do |f|

但网站呈现;

<form action="/form_questions/1/edit">

为什么将“/ 1 /”放在操作网址中的“编辑”之前?

4

2 回答 2

4

简单的答案。RESTful 路由

基本上,您已经resources :form_questions在 config/routes.rb 中定义了,这会自动转换您的 URL 以使其成为 RESTful。

于 2009-11-24T02:16:44.467 回答
0

我建议使用提供给您的 RESTful 助手,例如:

<% form_for(@form_question) do %>
  <%= f.text_field :question %>
  ...
<% end %>

这将生成一个 URLcreateupdate取决于@form_question响应new_record?truefalse分别。它还会做其他事情,比如根据new_record?返回的内容为表单标签提供不同的 id 属性。

于 2009-11-24T04:04:27.543 回答