1

だから私はこれを長い間やっていないが、私はこれに完全に固執している。私はこのように見えるモデルを持っています(簡潔にするために簡略化されています):

class ReqBreakdown < ActiveRecord::Base
  belongs_to :next_level #nil if lowest level
  belongs_to :previous_level #nil if highest level
  belongs_to :requirement_level
end

UIからこれらのリストを作成する方法が必要です。私は当初、http: //blog.jatinder.me/2006/09/cascading-select-boxes-with-rjs.htmlで説明されているようなリンクされたドロップダウンを使用することを想定していましたが、私のコントローラーのアクション。説明したjavascriptをapplication.jsにコピーし、それがレイアウトに含まれていることを確認し、application_helper.rbにヘルパーを追加し、コントローラーにサポートアクションを追加しましたが、運が悪かったです。正直なところ、それが私の要件を満たすかどうかさえわかりません。選択のルールは次のとおりです。

  1. 最大4つのレベル(つまり、4つの選択ボックス)。
  2. 循環参照はありません(つまり、以前に選択したすべてのアイテムを次のテキストボックスから削除して選択する必要があります)
  3. 選択したオブジェクトはすべて同じタイプです(requirement_level)

助言がありますか?

4

1 に答える 1

1

あなたはまだ始めているので、私はあなたが素晴らしいrailscastsエピソードを見ることを提案することができますか?特にここにあるもの:

これはあなたが探している答えではないかもしれませんが、コントローラーを接続して必要なことを実行するのに問題があるため、問題は実際にはどこにでもある可能性があります。Ryan(railscastsの作者)は、彼のすべてのエピソードに完全なソースコードを提供するだけでなく、小さなことを説明する素晴らしい仕事をしています。

もしこれが私なら、私はおそらく2つのことのうちの1つをするでしょう。

  1. rjsを捨て、jqueryクライアント側をほぼすべて使用します。jqueryはここで本当に優れています。データのリストが静的である場合はなおさらですが、そうでない場合は、ajaxを使用して更新を行うことができます。
  2. 状況に応じて、別のUI要素、おそらく複数選択ボックスまたはチェックボックスのグループを見てください。

私はあなたが見ている方向に問題はありませんが、あなたは質問の技術的な詳細に少し軽いので、私は実際には特定の答えではなく、いくつかの一般的なアドバイスを与えています。

幸運を!

于 2010-02-27T06:13:19.757 に答える