アーカイブ

Rails4のアクションキャッシングの利用例

Rails4のアクションキャッシュの利用例をまとめました。
 
ページキャッシュは、認証などのフィルターが定義されている場合は使用できませんが、アクションキャッシュはbeforeフィルターが定義されていても使用できます。
 
目次
(1)アクションキャッシュを使用するには?
(2)アクションキャッシュの基本的な使用例
(3)アクションキャッシュの設定例
続きを読む

Rails4のページキャッシングの利用例

Rails4のページキャッシュ利用例をまとめました。
 
ページキャッシュはファイル内のアクションの出力を保存するメカニズムで、この仕組みによってActionpackを通さずに応答できます。
 
目次
(1)ページキャッシュを使用するには?
(2)indexページにページキャッシュを設定する例
(3)ページキャッシュに有効期限を設定する例
(4)indexとshowアクションにページキャッシュを設定する例
続きを読む

PDFKitのMiddlewareを使ってすべてのページをPDF化

pdfkitのMiddlewareを使うとすべてのページで通常のURLに.pdfを追加してアクセスするとPDFを取得する事が出来ます。
 
設定方法は、config/application.rbに下記記述を追加するだけです。
 
config.middleware.use PDFKit::Middleware
 
ブラウザが応答待ちの状態で固まってしまう場合は、下記サイトの対処方法で解決出来ました。
http://stackoverflow.com/questions/17908359/generating-pdf-hangs-on-rails-4-using-pdfkit-gem
 
上記サイトの説明では、stylesheet_link_tagとjavascript_include_tagが相対パスを使っている事が原因で、wkhtmltopdfが実行中に同じサーバーからアセットをロードするとwkhtmltopdfがハングしてしまうとの事です。
 
config/application.rbに下記設定をするとハングされずPDFが表示出来るようになりました。
config.action_controller.asset_host = “http://localhost”

Active Adminでダウンロードリンクをカスタマイズ

Active Adminではデフォルトで、CSV、XML、JSONフォーマットでダウンロードできますが、ダウンロードできるフォーマットタイプを変更する事が出来ます。
 
下記記事の方法でインストール、初期設定をしている事を前提としています。
Active Adminのインストール方法
続きを読む

Active Adminのcsvインポートでバリデーションチェック

Active Adminのcsvインポートでは、Railsのモデルでのバリデーションやデータベースで一意性制約の設定を行っていると、重複データのあるCSVファイルインポート時にバリデーションエラーで異常終了してしまいました。
 
MySQLの”LOAD DATA LOCAL INFILE”のコマンドを使ってCSVファイルをインポートする場合は、デフォルトで”IGNORE”オプションが指定されていて、スキップしてくれていたので同じような事が出来ると思っていたのですが、Active Adminのcsvインポートでは同じようなオプションの設定は見つかりませんでした。
続きを読む

Active Adminでフィルターの設定、サイドバー追加

Active Adminでフィルターの設定、サイドバーを追加する方法をまとめました。
下記記事の方法でインストール、初期設定をしている事を前提としています。
Active Adminのインストール方法
 
各モデルの一覧情報でデータをフィルターするための設定とビューにサイドバーを追加する設定方法を確認しました。
続きを読む