首页 文章

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

提问于
浏览
0

我正在使用Rails 4,Ruby 2.2和最新版本的'Devise'宝石 .

到目前为止,我已经生成了一个设计用户资源,并使用自定义字段(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命令为User资源创建一个视图 . 我通过rake检查了我的路线,以确保我在URL“/ users / sign_up”上加载“new.html.erb”文件 .

我遇到的问题是当我在新的更新我的注册表单时,它不会更新!我已将代码更改为包含其他字段,但它仍显示与设计(电子邮件,密码,密码确认)相同的标准格式,即使在通过路径链接的erb文件中我已明确添加了三个字段用户名,名字和姓氏 .

我已经尝试编辑 Headers ,甚至不更新!当我更新其他视图文件时,它们更新正常,因此它不是一个整体视图问题 .

这是我的“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 %>
<%= f.text_field :username, autofocus: true %> </div> <div class="field"> <%= f.label :firstName %>
<%= f.text_field :firstName %> </div> <div class="field"> <%= f.label :email %>
<%= f.email_field :email %> </div> <div class="field"> <%= f.label :password %> <% if @minimum_password_length %> <em>(<%= @minimum_password_length %> characters minimum)</em> <% end %>
<%= f.password_field :password, autocomplete: "off" %> </div> <div class="field"> <%= f.label :password_confirmation %>
<%= f.password_field :password_confirmation, autocomplete: "off" %> </div> <div class="actions"> <%= f.submit "Sign up" %> </div> <% end %> <%= render "users/shared/links" %>

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

提前致谢 !

1 回答

  • 0

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

相关问题