form_for in devise它是如何工作的?

时间:2013-11-10 18:26:54

标签: ruby-on-rails devise

rails g devise:views命令生成该视图

<h2>Sign up</h2>

    <%= form_for(resource, :as => resource_name, :url => registration_path(resource_name))   do |f| %>
    <%= devise_error_messages! %>

   <div><%= f.label :username %><br />
   <%= f.text_field :username, :autofocus => true %></div>

  <div><%= f.label :email %><br />
  <%= f.email_field :email, :autofocus => true %></div>

  <div><%= f.label :password %><br />
  <%= f.password_field :password %></div>

  <div><%= f.label :password_confirmation %><br />
  <%= f.password_field :password_confirmation %></div>

  <div><%= f.submit "Sign up" %></div>
<% end %>

<%= render "devise/shared/links" %>

我的问题是它是如何工作的“form_for(资源,:as =&gt; resource_name,...”

2 个答案:

答案 0 :(得分:3)

resource是简单的记录(或对象) - 就Devise而言,它通常称为User或类似的东西。 form_for的其余参数是选项,详见form_for docs.

答案 1 :(得分:0)

我注意到:email和:username都在调用email_field,这是一个错误。