1

Ruby on Rails で特定の Web ページのビュー カウント機能を実装しています。私は自分の目的を達成するためにhamlリストを使用しています。(JavaScript ライブラリはリストを受け取り、ドロップダウンとしてレンダリングします。)

コード スニペットは次のとおりです。

%li.action
  = link_to t(question.views_count.to_s + ' views')

ここでの問題は、ビューの V が出力で大文字になり、ビューの数が 0 と 1 の場合でもビューが複数形になることです。これらの問題に対処する方法はありますか?

4

2 に答える 2

1

複数形については、このリンクを参照して ください http://apidock.com/rails/ActionView/Helpers/TextHelper/pluralize

あなたのconsolefor example

1.9.3p125 :028 > pluralize(2, 'View')
 => "2 Views"

アップデート

コンソールで試して大文字を使用してください

"view".capitalize 
于 2012-11-06T07:07:06.497 に答える
1

あなたのやり方は間違っています。I18N システム (つまり、tメソッド) に複数形を単独で処理させるべきです。適切な複数形の処理は非常に複雑です。文字列操作で自分でやろうとしないでください。メソッドを使用していますtが、さらに多くのことができます。

I18N ガイドから:

:count補間変数は、翻訳に補間され、CLDR で定義された複数形規則に従って翻訳から複数形を選択するために使用されるという点で、特別な役割を果たします。

I18n.backend.store_translations :en, :inbox => {
  :one => '1 message',
  :other => '%{count} messages'
}

I18n.translate :inbox, :count => 2
# => '2 messages'

したがって、メッセージ データベースが適切に設定されていると仮定すると、次のようになります。

t(:views, :count => question.views_count)

そして、英語の翻訳ファイルは次のようになります。

views:
  one: "1 view"
  other: "%{count} views"
于 2012-11-06T08:12:32.223 に答える