小编Rui*_*ila的帖子

Rails如何从表单对象本地化属性

我已经做了一些研究,但没有设法找到如何本地化我的表单对象的属性.

这是我的表单对象模型的相关部分:

class Pledge
  include ActiveModel::Validations
  include ActiveModel::Conversion
  include ActiveAttr::Attributes
  extend ActiveModel::Naming

  attribute :pledge_amount
  attribute :reward_id
  attribute :message

  validates :message, presence: true, length: { maximum: 140 }
  validates :reward_id, presence: true
  validates :pledge_amount, presence: true

  ...
end
Run Code Online (Sandbox Code Playgroud)

我的语言环境文件,pledges/en.yml:

en:
  activerecord:
    models:
      pledge: "Pledge"
    attributes:
      pledge:
        pledge_amount: "Pledge Amount"
        reward_id: "Reward"
        message: "Message"
  helpers:
    submit:
      pledge:
        create: "Next Step"
    label:
      pledge:
        pledge_amount: "Enter your pledge amount"
        reward_id: "Select your reward"
        message: "Write a Support Message"
Run Code Online (Sandbox Code Playgroud)

通过这种设置,我成功地在表单上本地化了标签,这是表单代码的一部分:

<%= form_for @pledge do |f| …
Run Code Online (Sandbox Code Playgroud)

forms activerecord ruby-on-rails internationalization

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