如何设计知道您想要表格数据写入哪个表格?

时间:2013-05-20 01:12:07

标签: ruby-on-rails devise

这是设计''注册'视图(new.html.erb)。

<h2>Sign up</h2>

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

  <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" %>

我有一个名为'users'的表,我想要数据。当我在我的系统上创建一个帐户时,数据会写入我的用户表,这一切都完美无缺。但设计如何知道我希望数据转到“用户”?

虽然我开始掌握rails,但符号如何:password,:email,ect等同于数据库输入?这与设计源代码有关,而不是与rails相关吗?

1 个答案:

答案 0 :(得分:1)

定义时:

devise_for :users

您告诉devise定义Devise::Mapping实例。

当您转到users/sign_in设计时,请使用users部分网址获取此地图实例。

此映射对象用于获取User实例:

def resource
  instance_variable_get(:"@#{resource_name}")
end

其中resource_namemapping.name

您可以在[{3}}

中查看使用DeviseController课程的Mapping课程