0

いくつかの異なるタイプのフォームを必要とするモデル「航海」があります。

到着票、出発票、チェックイン票などがあります。

現在、コントローラーに新しいアクションを作成することでこれを実装しています。

    def arrival_form
    ...
    end

    def departure_form
    ...
    end

ただし、これらはすべて基本的に編集/更新アクションです。

私はおそらくそれを行うためのより良い、よりクリーンな方法があるように感じますが、私はそれを理解することができませんでした.

4

1 に答える 1

1

そのような一般的なビューを選択することで、フォームを確実にレンダリングできます。

def edit
  # logic omitted
  render "#{params[:state]}_form" if Voyage::STATES.include? params[:state]
end

または、フォームが何らかの段階的なウィザードの場合、フォーム生成で @voyage.state を使用できます。私はあなたがアイデアを得ると思います。Voyageそして、インスタンスをupdate適切なアクションで更新する必要があります。

于 2012-10-09T08:55:04.840 に答える