2012-05-01 7 views
0

私は自分のプロジェクトのレールに3.2言語を2つ持っています。言語レールでフィルタリングされた記事を表示3.2

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

登録ユーザーは、これらの言語で新しい投稿を作成することができます。

私の質問は:私のポスト動作指数で

、ユーザーはこれらの瞬間に言語は例:enのためである場合。英語の投稿のみをフィルタリングして表示するにはどうすればいいのですか、その瞬間のユーザーの言語がたとえば:esの場合はどうすればいいですか。スペイン語の投稿のみをフィルタリングして表示するにはどうすればよいですか?

ありがとうございました!

答えて

0

これを実現する最善の方法は、投稿テーブルに「言語」列を追加し、i18n.localeをテストして投稿が作成されたときにこの属性を設定することです。

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

行うための最善のことは、インスタンスの選択フィールドで新しいポストを作成する際に、ユーザが言語を選択できるようになり、そしてに従って、デフォルトの設定になります。そして、あなたのような単純なクエリとの投稿をフィルタリングします現在のロケール。

英語のユーザーは、スペイン語の投稿を書くことができるはずですから、彼にしてはいけませんか?

+0

ありがとうございます@ Kulgar、私は言語のためのアプリでスイッチの選択フィールドがあります。私もこのようにすることを考えていましたが、それが最も正しい方法ではなかったのです。英語のユーザーは英語で記事や記事を書く必要があり、スペイン語のユーザーはスペイン語で書く必要があります。ありがとうございました! – hyperrjas

関連する問題