Ruby Rails 设计自定义表单 -- 表单在编辑时未更新

Ruby on Rails Devise Custom Form-- Form not Updating on Edit

我现在用的是Rails4、Ruby2.2和'Devise'gem.

的最新版本

到目前为止,我已经生成了一个设计用户资源,并创建了一个带有自定义字段(firstName、lastName 等)的迁移。这很好用。

我在我的应用程序控制器上创建了一个强参数,见此处:

      before_action :configure_permitted_parameters, if: :devise_controller?

      protected

      def configure_permitted_parameters
          devise_parameter_sanitizer.for(:sign_up) { |u| u.permit(:username, :password, :email, :firstName, :lastName, :dateofBirth, :address1, :address2, :city, :state, :zip)}
      end

我继续在我的终端上使用 devise 命令为用户资源创建一个视图。我通过 rake 检查了我的路线,以确保我在 URL “/users/sign_up”.

上加载 "new.html.erb" 文件

我遇到的问题是,当我去更新注册表单时,它没有更新!我已经更改了代码以包含其他字段,但它仍然显示与设计(电子邮件、密码、密码确认)相同的标准表单,即使在通过路由链接的 erb 文件中我已经明确添加了另外三个字段用于用户名和名字和姓氏。

我试过编辑 header,但还是没有更新!当我更新其他视图文件时,它们更新正常,所以这不是整体视图问题。

这是我的代码 "new.html.erb":

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

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

  <div class="field">
    <%= f.label :email %><br />
    <%= f.email_field :email %>
  </div>

  <div class="field">
    <%= f.label :password %>
    <% if @minimum_password_length %>
    <em>(<%= @minimum_password_length %> characters minimum)</em>
   <% end %><br />
    <%= f.password_field :password, autocomplete: "off" %>
  </div>

  <div class="field">
   <%= f.label :password_confirmation %><br />
    <%= f.password_field :password_confirmation, autocomplete: "off" %>
  </div>
  <div class="actions">
    <%= f.submit "Sign up" %>
  </div>
    <% end %>
    <%= render "users/shared/links" %>

我推测设计 gem 可能会覆盖用户特定视图并发送默认视图(这将解释没有更新),但如果这确实是问题,我不确定如何解决这个问题.

提前致谢!

好的,我更改了初始化程序中的范围设置,重新启动了 webricks 服务器,它开始工作了