【发布时间】:2018-05-20 09:46:47
【问题描述】:
我有一个使用简单表单和设计 gem 的 rails 应用程序,我最近更新了我的 gem,但我遇到了以下问题,对于新用户会话表单,我在密码字段出现 undefined method 'html_safe' for #<Hash:0x0056223f885c68> 错误消息之前,它工作得很好.
我还尝试了输入 field_field 而不是输入,在这种情况下它工作得很好,但渲染结果看起来很乱,所以我添加了 wrapper 让它看起来更好,但我又收到了错误消息。我只有新用户会话才有这个问题,新用户注册工作正常。
这是我的看法:
<%= simple_form_for(resource, as: resource_name, url: session_path(resource_name)) do |f| %>
<div class="form-inputs">
<%= f.input :login, autofocus: true, placeholder: true %>
<%= f.input :password, placeholder: true %>
<%= f.input :remember_me, as: :boolean if devise_mapping.rememberable? %>
</div>
<div class="row">
<div class="col-md-6">
<%= render "devise/shared/links" %>
</div>
<div class="col col-md-6">
<div class="form-actions">
<%= f.button :submit, "Login", :class => 'pull-right' %>
</div>
</div>
<% end %>
【问题讨论】:
-
不应该
placeholder有一个字符串来显示而不是一个布尔值?例如:placeholder: "password" -
没有。使用简单的形式,您可以将值设置为 true,而简单的形式将在翻译文件中查找键为
password的值 -
您是否编辑了翻译,以便密码/占位符键现在具有一组嵌套值?
-
我总是在 Rails 应用程序中使用翻译文件。对于简单的形式,我只是按照 github 页面 I18n 部分中的示例进行操作。
标签: ruby-on-rails ruby devise simple-form