これが私が解決しようとしてきた問題ですが、完全なハックのように感じられない方法は見つかりませんでした。Warehouse と StateCity の 2 つのオブジェクトがあります。Warehouse オブジェクトには、StateCity オブジェクト ( state_city_id ) への外部キーがあります。
ユーザーが倉庫を作成するときに、都道府県と市区町村を入力できるようにしたいと考えています。現在、彼らはそうすることができます。送信された State と City のパラメーターを確認し、対応する ActiveRecord オブジェクトを作成または検索します。彼らが私のビューでウェアハウスを表示しようとすると、ヘルパーを使用して StateCity オブジェクトから State/City を抽出する (存在する場合) か、モデルにメソッドを追加して以下のように同じ機能を実行するかの間で揺れ動きました。
def show_state( warehouse )
if warehouse.state_city.nil? == false
return warehouse.state_city.state
end
return ""
end
def show_city( warehouse )
if warehouse.state_city.nil? == false
return warehouse.state_city.city
end
return ""
end
残念ながら、オブジェクトの作成とオブジェクトの表示に 1 つを使用する必要があるため、ヘルパー メソッドや追加の関数を使用してモデルを肥大化することはあまり自然ではないようです。
Warehouse-StateCity の問題を解決するためのより良い方法について誰かアドバイスがあるかどうか疑問に思っていました。どんな助けでも大歓迎です。