这是设计''注册'视图(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相关吗?
答案 0 :(得分:1)
定义时:
devise_for :users
您告诉devise定义Devise::Mapping
实例。
当您转到users/sign_in
设计时,请使用users
部分网址获取此地图实例。
此映射对象用于获取User
实例:
def resource
instance_variable_get(:"@#{resource_name}")
end
其中resource_name
为mapping.name
您可以在[{3}}
中查看使用DeviseController
课程的Mapping
课程