我正在使用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 回答
好吧,我更改了初始化程序中的范围设置,重新启动了webricks服务器,它开始工作