0

HABTMカテゴリのイベントモデルがあります。関係は正常に動作し、問題のないカテゴリから値を挿入/取得できます。Rails 3.1、habtm関係からの値の内在化?

私の質問は、このカテゴリの値を相互結合(I18n)する方法があるかどうかです。私はカテゴリがほとんど固定されていると仮定してい

カテゴリーモデル

class Category < ActiveRecord::Base 
has_and_belongs_to_many :events 
end 

イベントモデル

class Event < ActiveRecord::Base 
.... 
has_and_belongs_to_many :categories 
.... 

(イベント用)_form.html.haml

- Category.all.each do |category| 
.field 
    = check_box_tag "category_ids[]", category.id, @event.category_ids.include?(category.id) 
    = category.name 

答えて

0

(そうでない場合あなたは本当にそれらの上で何かを行うことができません)

一つの解決策は、(アンダースコアで)キーとしてデータベースにカテゴリを保存し、各キーのためにあなたのロケールファイルに国際化を追加することです:

en.yml 

categories: 
    some_category: "Some category text" 
    some_other_category: "Some other category text" 
    ...... 

そして、あなたは一例Category.all.map(&:name)のために行う場合["some_category", "some_other_category", ....]

になります

そして、あなたのビューで:

- Category.all.each do |category| 
.field 
    = check_box_tag "category_ids[]", category.id, @event.category_ids.include (category.id) 
    = I18n.t("categories.#{category.name}") 

注意あなたが動的にこれを実行しようとしている場合、これはそのような場合(、あなたはDで翻訳を保存する必要があるとしている良い解決策ではありませんatabase、thisが役に立ちます)

+0

これを試してみました。それは完璧に動作します。本当にありがとう!! –

関連する問題