2

私のモデル"combobox" has_many "comboboxselects"、そして"comboboxselects" belongs_to "combobox"。「comboboxes」のActivescaffoldは、comboboxselects-columnのようなデータを表示します"#<Comboboxselect:0x472d25c>"。テーブル「comboxselects」の「answer」列を表示するにはどうすればよいですか?

モデル:

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

出力:

class ComboboxesController < ApplicationController
 active_scaffold :combobox do |config|
   config.list.columns = [:id, :question]
   config.columns = [:question, :comboboxselects]
 end
end

class ComboboxselectsController < ApplicationController
 active_scaffold :comboboxselect  do |config|
   config.list.columns = [:id, :combobox, :answer]
   config.columns = [:answer]
 end
end
4

2 に答える 2

1

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

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

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

ActiveScaffoldのドキュメントを参照してください:レコードの説明:to_label

于 2009-05-18T23:22:39.183 に答える
0

あなたがディスプレイと言うとき、私はあなたがビューで意味していると思いますか?その出力を取得するために実行中のコードを投稿できますか?

Comboboxselectオブジェクトがあるように見えますが、必要な.answer属性にアクセスするためにオブジェクトに追加してみましたか?

于 2009-05-18T09:31:24.693 に答える