WEBサービス創造記

WEBサービスを作ったり保守したりしてる人のメモブログです。

Railsでpjaxを使う

      2015/05/31

Gemのインストール

gem 'pjax-rails'
bundle install

pjaxライブラリの読み込み

app/assets/javascripts/application.js に以下を追記。

//= require pjax

動作確認

動作確認用のスキャフォルドを生成

r g scaffold inquiry name:string email:string subject:string content:text
rake db:migrate

動作確認用にpjaxというアクションを利用するので config/routes.rb の resources :inquiries を以下に置き換えておく。

  resources :inquiries do
    collection do
      get :pjax
    end
  end

テスト用のアクションを InquiriesController に作成する

def pjax
end

pjaxメソッド用のビューとして app/views/inquiry/pjax.html.erb を追加する。中身は適当に書いた。

<h2>pjaxテスト</h2>

<p>This is pjax.</p>

スキャフォルドで自動生成した app/views/inquiry/index.html.erb の末尾に以下を追記する。

<%= link_to 'Pjaxテスト', pjax_inquiries_path %>

<div data-pjax-container="true">
</div>

http://localhost:3000/inquiries のようなテストページのURLへアクセスする。

Pjaxテストというリンクをクリックするとajaxでコンテンツが更新される。pjaxなので普通のajaxと違ってURLも変更される。

 - Ruby on Rails ,