小编san*_*nta的帖子

Rails翻译嵌套属性i18n的验证错误消息

错误消息不会转换我的嵌套模型属性,因为它被定义为单数,但在错误消息中它查找复数.

我有一个模型'人',其中has_many:地址.此Person模型接受"地址"的嵌套属性.我只创建地址和Person模型.

我的语言环境文件看起来像

en:
  activerecord:
    models:
      person:
        one: "Person"
        other: "People"
      address:
        one: 'Address'
        other: 'Addresses'
    attributes:
      person:
        first_name: 'First name'
        last_name: 'Last name'
        middle_name: 'Middel name'
      address:
        street: street
        city: city
        country: country
Run Code Online (Sandbox Code Playgroud)

并为错误消息:

en:
  errors: &errors
    format: ! '%{attribute} %{message}'
    messages:
      blank: can't be blank
Run Code Online (Sandbox Code Playgroud)

它适用于单个模型但具有嵌套属性我遇到了验证消息的问题.

由于消息显示如下:

 @messages=
  {:first_name=>["can't be blank"],
   :last_name=>["can't be blank"],
   :"addresses.street"=>["can't be blank"],
   :"addresses.city"=>["can't be blank"]}>
Run Code Online (Sandbox Code Playgroud)

查找找不到addresses.street的转换,因为它只是yml文件中的address.street.

我怎样才能找到address.street,当它查找address.street而不加倍我的所有条目?

validation localization ruby-on-rails nested-attributes

6
推荐指数
1
解决办法
2536
查看次数

python长数据丢失

我刚刚开始使用python(python3),因为我读了它对euler项目的好处,因为它可以处理非常大的数字.

现在我正在努力解决将float转换为int的一个非常简单的问题.为什么我没有得到相同的结果:

num =  6008514751432349174082765599289028910605977570

print('num     {0} '.format(int(num)))

num = num / 2
print('num /2  {0} '.format(int(num)))

num = num * 2
print('num *2  {0} '.format(int(num)))
Run Code Online (Sandbox Code Playgroud)

输出为:

num     6008514751432349174082765599289028910605977570 
num /2  3004257375716174771611310192874715313222975488 
num *2  6008514751432349543222620385749430626445950976 
Run Code Online (Sandbox Code Playgroud)

python biginteger data-loss python-3.x

1
推荐指数
1
解决办法
237
查看次数