gpt4 book ai didi

ruby-on-rails - Devise用户的个人资料模型?

转载 作者:行者123 更新时间:2023-12-03 07:57:06 24 4
gpt4 key购买 nike

我想扩展我的devise安装的注册形式。我创建了一个Profile模型,现在问自己,如何将表单的特定数据添加到此模型中。设计的UserController在哪里?

提前致谢!

最佳答案

假设您的用户模型具有has_one配置文件关联,则只需要在User中允许嵌套属性并修改设计注册 View 即可。

运行rails generate devise:views命令,然后使用registrations#new.html.erb表单助手修改设计fields_for View ,如下所示,以使您的注册表单与您的User模型一起更新您的Profile模型。

<div class="register">
<h1>Sign up</h1>

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

<h2><%= f.label :email %></h2>
<p><%= f.text_field :email %></p>

<h2><%= f.label :password %></h2>
<p><%= f.password_field :password %></p>

<h2><%= f.label :password_confirmation %></h2>
<p><%= f.password_field :password_confirmation %></p>

<%= f.fields_for :profile do |profile_form| %>
<h2><%= profile_form.label :first_name %></h2>
<p><%= profile_form.text_field :first_name %></p>

<h2><%= profile_form.label :last_name %></h2>
<p><%= profile_form.text_field :last_name %></p>
<% end %>

<p><%= f.submit "Sign up" %></p>

<br/>
<%= render :partial => "devise/shared/links" %>
<% end %>
</div>

在您的用户模型中:
class User < ActiveRecord::Base
...
attr_accessible :email, :password, :password_confirmation, :remember_me, :profile_attributes
has_one :profile
accepts_nested_attributes_for :profile
...
end

关于ruby-on-rails - Devise用户的个人资料模型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4307743/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com