当我验证模型时,出现以下错误
<ActiveModel::Errors:0x007ffecf1c9460
@base=#<Post id: nil, created_at: nil, label_id: nil, user_id: 3>,
@messages={:label=>["can't be blank"]},
@details={:label=>[{:error=>:blank}]}>
Run Code Online (Sandbox Code Playgroud)
如何自定义错误消息?
根据我的理解,以下应该有效
en:
activerecord:
errors:
models:
post:
attributes:
label:
blank: do not like it
Run Code Online (Sandbox Code Playgroud)
但是,我仍然收到默认错误消息。
Rails 指南提供的 I18n 范围特定于ActiveModel::Validations内部ActiveRecord对象的使用。例如:
en:\n activerecord:\n errors:\n models:\n some_model:\n attributes:\n name:\n blank: "Please enter your full legal name."\nRun Code Online (Sandbox Code Playgroud)\n\nActiveModel::Validations以这种方式使用时,这将不起作用:
class SomeModel\n include ActiveModel::Validations\n validates :name, presence: true\nend\nRun Code Online (Sandbox Code Playgroud)\n\n相反,使用框架默认值“\xe2\x80\x9ccan\t be Blank”。
\n\n如何解决这个问题?
\n这是我的代码:
\n\n<%= simple_form_for [:backend, @department] do |f| %>\n <%= f.input :parentid, input_html: { class: \'form-control\' } %>\n <%= f.input :name, input_html: { class: \'form-control\' } %>\n <%= f.button :submit %>\n<% end %>\nRun Code Online (Sandbox Code Playgroud)\n\n这是我的表单,我想更改提交文本,现在文本是create department,所以我尝试:
zh-CN:\n simple_form:\n helpers:\n submit:\n department:\n create: "\xe6\x96\xb0\xe5\xbb\xba\xe9\x83\xa8\xe9\x97\xa8"\n update: "\xe4\xbf\x9d\xe5\xad\x98\xe7\xbc\x96\xe8\xbe\x91"\nRun Code Online (Sandbox Code Playgroud)\n\n但一切都没有改变。我怎样才能改变它?
\n我想将语言环境代码与特定语言名称匹配.在I18n/rails中是否有任何构建功能可以将语言名称返回到相应的语言环境.安装宝石是唯一的方法吗?
我正在使用 I18n 本地化 Rails 应用程序,并且遇到了涉及使用 I18n 时间格式的情况。
显示的日期和时间格式如下:"Tuesday, July 11, 2017"对于 time :2017-07-11 12:30:00 +0530
为了本地化,我正在使用en.yml和es.yml两种时间格式,如下所示:
en:
time:
formats:
long: '%A, %B %d, %Y'
short: '%b %d, %Y'
Run Code Online (Sandbox Code Playgroud)
在我使用的模型中I18n.l(raw_date.to_time, format: :long),这对于英语和结果来说效果很好"Tuesday, July 11, 2017",但对于西班牙语,它的返回如下:"a, t 11, 2017"
西班牙语的日期时间格式是什么才能获得与英语相同的结果。任何帮助,将不胜感激 :)
我正在尝试学习 ruby on Rails。在进行国际化时,我收到错误:
翻译缺失:en.store.index.title_html
下面是我的en.yml文件
en:
layouts:
application:
title: "Pragmatic book shelf"
home: "Home"
questions: "Questions"
news: "News"
contact: "Contact"
store:
index:
title_html: "Your Pragmatic Catalog"
add_html: "Add to Cart"
Run Code Online (Sandbox Code Playgroud)
我搜索了解决方案,它说只允许 en.yml 文件中的空格。它已经写好了,只有空格。任何帮助将不胜感激。
我使用的轨道,国际化的宝石用:hr我的主要语言.
宝石有效,但header message事实并非如此.
(4 errors prohibited this list from being saved:部分)
这是我提交带有无效属性的表单时得到的结果:
4 errors prohibited this list from being saved: #doesn't translate
Field1 ne smije biti prazan #translates/presence
Field2 ne smije biti prazan #translates/presence
Field3 ne smije biti prazan #translates/presence
Filed4 nije odgovaraju?e duljine (treba biti 11 znakova) #translates/length
Run Code Online (Sandbox Code Playgroud)
至于代码,我只添加config.i18n.default_locale = :hr了config/application.rb.
在文档中说:
以下语言环境已完成:
bs,da,en,en-US,es-PA,hr,is,ja,nl,sr,ur,zh-HK
使用其他语言环境进行测试但仍未翻译该4 errors prohibited this list from being saved:部分.
我做错了什么或者 …