我无法显示设计错误。问题仅发生在注册页面中。但登录和注册的配置是相同的......
我通过application.html.erb
我知道错误是正确生成的,因为当我将resource.errors.full_messages
放在开头时,会显示错误。但没有我的风格。
注册
.section
.subscribe-c.w-container
.section-title-group
h2.heading Bonjour !
= simple_form_for(resource, as: resource_name, url: registration_path(resource_name)) do |f|
= f.input_field :email, class: "form-field w-input", placeholder: "Email"
= f.input_field :password, class: "form-field w-input", placeholder: "Mot de passe", html: { autocomplete: 'off' }
= f.input_field :password_confirmation, class: "form-field w-input", placeholder: "Confirmez votre mot de passe", html: { autocomplete: 'off' }
= f.submit "Je m'inscris", class: "button full-width w-button"
= render "devise/shared/links"
登录(正常工作的人)
.section
.subscribe-c.w-container
.section-title-group
h2.heading Bonjour !
= simple_form_for(resource, as: resource_name, url: session_path(resource_name)) do |f|
= f.input_field :email, class: "form-field w-input", placeholder: "Email"
= f.input_field :password, class: "form-field w-input", placeholder: "Mot de passe", html: { autocomplete: 'off' }
= f.submit "c'est parti !", class: "button full-width w-button"
= render "devise/shared/links"
application.html.erb
<body class=body>
<% if notice %>
<p class="alert alert-success"><%= notice %></p>
<% end %>
<% if alert %>
<p class="alert alert-danger"><%= alert %></p>
<% end %>
<%= render 'layouts/navbar' %>
<%= yield %>
</body>
答案 0 :(得分:0)
这是因为您正在使用f.input_field
告诉simpleform去除表单字段周围的所有div。如果切换到f.input
,simpleform会将您的字段包装在Rails看起来要添加错误消息的div中。这可能会破坏您的一些样式,因为现在所有表单字段都有一个额外的div包装器,但您始终可以在表单顶部创建自己的自定义错误消息。实施例
<% if @some_object.errors.any? %>
<ul>
<% @some_object.errors.each do |error,msg| %>
<li> <%=error.capitalize%> <%=msg%></li>
<% end %>
</ul>
<% end %>
答案 1 :(得分:0)
似乎缺少正确的翻译:{{1}}。
以下是Devise所有法语翻译的列表:https://github.com/plataformatec/devise/wiki/I18n#french-devisefryml
确保根据顶部的文档正确设置配置。
此外,如果您正在寻找特定的"Courriel translation missing: fr.activerecord.errors.models.user.attributes.email.blank
翻译,您可以查看rails-i18n gem,在那里您可以找到更多法语翻译here。