form_for Helper的问题

时间:2009-11-24 02:11:50

标签: ruby-on-rails views action

我在正在构建的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 /”放在“编辑”之前?

2 个答案:

答案 0 :(得分:4)

简单回答。 RESTful routes

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

答案 1 :(得分:0)

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

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

这将生成createupdate的网址,具体取决于@form_questionnew_record?的回复是true还是false 。它还会执行其他操作,例如,根据new_record?返回的内容,为表单标记提供不同的id属性。