LoginSignup
6
1

More than 5 years have passed since last update.

rails4でremote=trueを使わずにAjax通信し、レスポンスは.erbで処理する方法

Last updated at Posted at 2016-05-08

リクエスト部分

hoge.js
$.ajax({
      //リクエストのタイプを指定
      type: "GET",
      //コントローラー/アクション
      url: "movies/search",
      //datatypeはjavascriptに
      dataType: "script",
      //ajax通信で送るパラメータ
      data: {
        search: "comedy"
      }
    });

コントローラー部分

movies_controller.rb
def search
  @movies = Movie.where("title like + '%#{params[:search]}%'").order('RAND()').take(24)
  respond_to do |format|
    # search.js.erbがレンダリングされる。
    format.js
  end
end

erb部分

search.js.erb
$('#movie-search').html("<%= j render partial: 'search_result', locals: { movies: @movies } %>");

最後に

自分への勉強のために書いてみました。
個人的に、jbuilderを使うと非常に簡単にjsonの設計ができるという印象があります。

最近、Netflixの映画レビューサイトWhatchaSeeの運営を始めました。
また、場所で起こす目覚ましアプリMapMeもリリースしているので、ぜひ使ってみてください。

6
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
1