在 RoR 视图中获取 {{attribute}} {{message}}

8

登录

有1个错误,导致无法保存{{model}}。

以下字段存在问题:

  • {{attribute}} {{message}}

这是视图代码。

    <h1>Login</h1>

    <% form_for @user_session, :url => user_session_path do |f| %>
      <%= f.error_messages %>
      <%= f.label :login %><br />
      <%= f.text_field :login %><br />
      <br />
      <%= f.label :password %><br />
      <%= f.password_field :password %><br />
      <br />
      <%= f.check_box :remember_me %><%= f.label :remember_me %><br />
      <br />
      <%= f.submit "Login" %>
    <% end %>

这很奇怪,当输出是以月为单位时,它会出现在time_ago_in_words方法中。

我随机地开始看到这种情况,有人见过吗?

4个回答

10

当Ruby的版本升级到不被你所使用的Rails版本支持的版本时,就会出现这种情况。较旧的Rails版本使用的语法不被较新的Ruby版本支持。

为了解决这个问题,你应该升级Rails或降级Ruby版本。

Rails 2.3.9应该足够满足要求。

http://weblog.rubyonrails.org/2010/9/4/ruby-on-rails-2-3-9-released


啊,好的,是的,那样做很有道理。 - loosecannon

6
The i18n gem需要与您正在运行的RUBY和RAILS版本相对应。以下是i18n的更改日志链接:http://blog.plataformatec.com.br/2010/02/rails-3-i18n-changes/。如果需要更新,可以先卸载现有的i18n gem:gem uninstall i18n,然后再进行操作。
gem install i18n -v 0.4.0

这应该解决您在Rails 2.3.8中遇到的双花括号错误消息的任何问题。


这对我很有帮助。像Tom一样,我在Rails 2.3.14应用程序上安装了Money gem,并且它依赖于i18n。但是它安装了最新版本(6.x)的i18n。将i18n降级到0.4.0就可以解决问题。 - Joshua Pinter

2

如果您安装了i18n gem,也可能会遇到这个问题。我之前安装了metrical,其中一个依赖项是i18n gem。这导致了与上述相同的错误。一旦我删除了gem,就能再次看到正确的消息了。


0
cd <yourRailsProject> 
gem install i18n -v 0.4.0 -i vendor/ -V

将i18n gem安装到vendor文件夹中(-V用于显示详细输出,以便了解底层操作)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接