显示按语言轨道3.2过滤的帖子

时间:2012-05-01 09:10:32

标签: ruby-on-rails ruby-on-rails-3 internationalization

我在我的项目rails 3.2中有两种语言。

I18n.default_locale = :en
LANGUAGES = [
['English',
'en'],
["Español".html_safe, 'es']
]

注册用户可以使用这些语言创建新帖子。

我的问题是:

在我的帖子操作索引中,如果用户在这一时刻使用的语言是:en。如何过滤和显示仅使用英语的帖子,或者如果用户在此时使用的语言为:es。如何过滤和显示仅使用西班牙语的帖子?

非常感谢!

1 个答案:

答案 0 :(得分:0)

我认为实现这一目标的最佳方法是在Posts表中添加“语言”列,并在通过测试i18n.locale创建帖子时设置此属性。然后使用简单的查询过滤帖子,如:

 Post.where("language = ?", "spanish"). 

最好的办法是让用户在创建带有选择字段的新帖子时选择语言,并根据当前语言环境设置默认值。

因为,如果他愿意,英语用户应该能够写西班牙语帖子,不应该吗?