プレビュー機能つける
Rails4
リソースを登録する前にプレビューしたい!
View
_form.html.eb
プレビュー用submitには、name属性にpreviewを表す文字を割り当てる。
... <div class="control-group"> <%= f.label :body, '本文', class: 'control-label' %> <div class="controls"> <%= f.text_area :body, class: 'span9', size: "0x30" %> </div> <div class="actions"> <%= f.submit class: "btn btn-primary", :'data-type' => :html %> <%= link_to 'キャンセル', admin_blocks_path, class: 'btn' %> <%= f.submit 'プレビュー', class: 'btn btn-success', target: "_blank", name: "preview", style: "margin-left:20px" %> </div> ...
Controller
params[:preview]に値がある時は、previewテンプレートをRenderする。
class Admin::PostsController < Admin::BaseController before_action :render_preview_if, only: %w[create update] def create .... end def update .... end private def render_preview_if if params[:preview] @post = Post.new(post_params) render 'preview', layout: "application" end end def block_params .... end end
OK。
before_actionの名前がいまいちっぽい、、