2010-12-16 11 views
2

私は私のルートでこのセットアップを持っている:私の編集と新しいアクションは同じビューを再利用するべきですか? (ポスト編集)

namespace :admin do 
    resources :posts 

    end 

はので、私の管理/ posts_controller.rbに私は私の新しい、作成および編集アクションを持っています。

私は新しいと編集ビューのページを何とか再利用したい、b/cにはフォーム用のカスタムjavascriptなどがあり、私は自分自身を繰り返したくない。

どうすればいいですか?

つまり、編集ページの場合は、フォームフィールドをあらかじめ入力しておく必要があります。新しいページの場合は空にしてください。

新しいページについては、 '作成'アクションに投稿する必要があります。編集については、別の '更新'アクション(私のレーキルートごとのPUTリクエスト)に投稿する必要があります。

答えて

3

Railsはかなり賢いですpost.new_record? == true場合、更新アクションに、

<% form_for post do |f| %> 
<% end %> 

のようなフォームは、そうでない場合は作成するアクションに掲載します。

したがって、フォームを部分的に配置して新しい/編集ビュー内にレンダリングすることができます。これはおそらく異なる見出しとコピーを持ちます。

また、post.new_record?に基づいて1つのビューを作成して独自のロジックを実行することもできますが、不必要に複雑なビューで終了するので、これに反対してください。

関連する問題