2009-05-17 7 views
2

マイモデル"combobox" has_many "comboboxselects""comboboxselects" belongs_to "combobox"。 "comboboxes"のActivescaffoldは、comboboxselects-columnのデータを"#<Comboboxselect:0x472d25c>"のように表示します。どのようにテーブル "comboxselects"から "答え"の列を表示させるには?ActiveScaffold - 関連オブジェクトのデフォルト名を変更する

モデル:

class Combobox < ActiveRecord::Base 
has_many :comboboxselects 
end 

class Comboboxselect < ActiveRecord::Base 
belongs_to :combobox 
end 

スキーマ:

create_table "comboboxes", :force => true do |t| 
    t.string "question" 
    t.datetime "created_at" 
    t.datetime "updated_at" 
    end 

    create_table "comboboxselects", :force => true do |t| 
    t.integer "combobox_id" 
    t.string "answer" 
    t.datetime "created_at" 
    t.datetime "updated_at" 
    end 

出力:あなたは私はあなたがビューで意味を前提とディスプレイが言う

​​
+0

モデルファイルモデル、およびそのスキーマを参照してください。 – apostlion

+0

私はそれを追加しました、あなたは今それを見ることができます。面白いありがとう。 – kubum

答えて

1

最初に、config.list.columnsで参照されるすべてのフィールドをconfig.columnsに含める必要があります(明示的に定義されたconfig。*。columnsフィールドはconfig.columnsのサブセットでなければなりません)。

次に、すでに名前またはタイトルフィールドやメソッドを持たない各モデルでは、このカスタムメソッドを宣言する必要があります。

class Comboboxselect < ActiveRecord::Base 
belongs_to :combobox 
def to_label 
    "#{answer}" 
end 
end 

参照のActiveScaffoldのドキュメント:これら2用Describing Records: to_label

0

?実行しているコードを投稿してその出力を得ることができますか?

あなたはComboboxselectオブジェクトを持っているように私に見えますが、あなたが望む属性にアクセスするためにそれに.answerを追加しようとしましたか?

+0

はい、アクティクルエスケープのデフォルトビューです。私はactivescaffoldデフォルトのローディング設定を追加しました。 あなたは正しいです、そして、私は今答えを出力する方法はありません。 – kubum

関連する問題