自定义视图更新用户&轮廓

时间:2014-12-09 21:50:04

标签: ruby-on-rails devise

我有一个视图,我用它来更新用户模型和配置文件模型的工作!

<h2>Edit</h2>

<%= form_for(@profile) do |f| %>

  <% if @profile.errors.any? %>
    <div id="error_explanation">
      <h2><%= pluralize(@profile.errors.count, "error") %> prohibited this profile from being saved:</h2>
      <ul>
        <% @profile.errors.full_messages.each do |msg| %>
          <li><%= msg %></li>
        <% end %>
      </ul>
    </div>
  <% end %>

  <%= fields_for @profile.user do |u| %>
    <div><%= u.label :email %><br />
      <%= u.email_field :email, autofocus: true %>
    </div>
  <% end %>

  <div><%= f.label :alias %><br />
    <%= f.text_field :alias %>
  </div>

  <div>
    <%= f.label :sex %><br />
    <%= f.select :sex, gender_options %>
  </div>

  <div><%= f.label :dob %><br />
    <%= f.date_select :dob,  order: [:day, :month, :year], start_year: Date.today.year -100 %>
  </div>


  <div><%= f.submit "Update" %></div>
<% end %>

这允许用户更新他们的电子邮件地址,并且当我使用可重新启动时,会正确地向用户发送电子邮件以确认更改电子邮件地址。

原始设计视图包含以下内容,通知用户电子邮件确认是否未决:

  <% if devise_mapping.confirmable? && resource.pending_reconfirmation? %>
    <div>Currently waiting confirmation for: <%= resource.unconfirmed_email %></div>
  <% end %>

原始设计表格还包括以下表格标题:

<%= form_for(resource, as: resource_name, url: registration_path(resource_name), html: { method: :put }) do |f| %>
<%= devise_error_messages! %>

我想将这些设计功能合并到我的表单中,但我不确定它们应该包括在哪里以及如何包含它们,因为我正在使用fields_for作为我的设计&#34; email&#34;字段而不是form_for。

1 个答案:

答案 0 :(得分:0)

在下面的代码中,将resource替换为@profile.user

<% if devise_mapping.confirmable? && resource.pending_reconfirmation? %>
  <div>Currently waiting confirmation for: <%= resource.unconfirmed_email %></div>
<% end %>