3

フォーム、質問の 2 つのテーブルがあります。アイデアは非常に簡単で、すべてのフォームには多くの質問があります。テーブルができました

フォーム = | ID | タイトル |

質問 = | ID | タイトル | 入力 | フォーム ID |

form_id をどのように推測できるかは、フォーム ID のキーです。

class FormsController < ApplicationController
 active_scaffold :form
end

class QuestionsController < ApplicationController
 active_scaffold :question
end

class Question < ActiveRecord::Base
 has_one :form
end

class Form < ActiveRecord::Base
 has_many :question
end

そして、利用可能なフォームを選択してactivescaffold(質問)を作成したいと思います。フォームのIDのみを入力できるようになりましたが、ドロップダウンメニューで選択することはできません。rails または activescaffold をどのように設定すればよいですか?

ありがとう。私の英語でごめんなさい:)

4

3 に答える 3

4

頭痛の種なしにアクティブな足場で動作するドロップダウンを取得したい場合は、次の単純なルールに従う必要があります。以前の回答を組み合わせて、次のことができます。

あなたのモデルでは、レールの方法に従ってください。複数形と抑揚を尊重します。次に、allesklar を示唆するように記述します。

class Form < ActiveRecord::Base
 has_many :questions
end

class Question < ActiveRecord::Base
 belongs_to :form
end

「belongs_to」と関連付けて単数形の名前を使用することは非常に重要です。この場合は :form

あなたのコントローラーでは、Sarah Mei の回答を使用しますが、beens_to で宣言したアソシエーション名を使用して少し変更すると、次のようになります。

class QuestionsController < ApplicationController
  active_scaffold :question do |config|
    config.columns = [:id, :title, :input, :form]
    config.columns[:form].ui_type = :select
  end
end

複数のフィールドを持つモデルを使用する場合は、"def to_label" を使用することを忘れないでください。ActiveScaffold は、表示するフィールドを推測できないためです。

あいさつ

于 2009-05-19T16:18:37.400 に答える
4

コントローラーにいくつかの構成を追加する必要があります。

class QuestionsController < ApplicationController
  active_scaffold :question do |config|
    config.columns = [:id, :title, :input, :form_id]
    config.columns[:form_id].ui_type = :select
  end
end
于 2009-05-15T21:06:07.287 に答える
0

active_scaffoldについてはよくわかりませんが、フォームと質問モデルの関係ステートメントにいくつかの間違いがあります。私はこれがあなたが望むものだと思います:

class Form < ActiveRecord::Base
 has_many :questions
end

class Question < ActiveRecord::Base
 belongs_to :form
end

お役に立てれば。

于 2009-05-16T09:33:22.750 に答える