我正在Rails 3.1上构建一个应用程序。前端将有5种语言,而后端只有英语。
管理员可以使用globalize3在后端创建对象以指定属性转换。这里是控制器的一部分,用于创建产品:
class Admin::ProductsController < ApplicationController
before_filter :set_language
after_filter :set_back_to_default_language
def new
@product = Product.new
end
def create
@product = Product.create(params[:product])
if @product.errors.empty?
redirect_to admin_product_path(@product)
else
render :action => :new
end
end
private
def set_language
I18n.locale = :it
end
def set_back_to_default_language
I18n.locale = :en
end
end
这将创建具有意大利属性设置的产品。但是如果需要一个属性输出:
<%= @product.errors[:title] %>
将是
translation missing: it.activerecord.errors.models.product.attributes.title.blank
您是否知道如何使用正确的语言设置属性,并且验证始终采用默认语言?我不能使用I18n.default_locale = :en
因为在前端我有其他形式,验证字符串应该是本地化的。