2011-10-17 8 views
9

と仮定1は、1つのビューフォームラベルヘルパー内でi18n補間変数を渡すにはどうすればよいですか?

<%= t :price, :scope => "activerecord.attributes.book", :currency => "USD"%> 

で次の操作を行うことができ、それが「USDで価格を」印刷します次en.yml

#en.yml 
en: 
    activerecord: 
    books: 
     price: "Price in %{currency}" 

を持っています。

しかし、私は、この翻訳は、フォームで

# views/books/edit.html 
f.label :price 

ときに通貨を渡すようにすることは当然のI18n :: MissingInterpolationArgumentがスローされますが、私は、構文が何であるかを把握することはできません方法を見つけ出すことはできません不足している引数を渡す

# views/books/edit.html 
f.label :price, :currency => "USD" 

は動作しません。

答えて

10

私がしようとするだろう:本当に動作しません

<%= f.label I18n.t(:price, :scope => "activerecord.attribute.book", :currency => "USD") %> 
+0

を。価格の翻訳が "Price in USD"の場合、ラベルタグはのようになりますが、これは有効なHTMLではありません。 – cailinanne

+0

私はこれを見ています:<%= f.label:price、I18n.t(:price、:scope => "activerecord.books.price"、:currency => "USD")%>申し訳ありませんが、実行することはできませんし、今すぐテストすることができます。レールなしの@workをavailble ;-( – Cygnusx1

+0

右、それは私が始めたものです(元の質問を参照してください)しかし、多くの調査の後、 client_side_validationsモジュールが実際に通過していることを確認しています。ここでのコメントの2番目の提案は、client_side_validationsモジュールが関与していないとうまくいくと思います。 – cailinanne

関連する問題