Rails renderメソッドを使用してjsonを返す
Railsでrenderメソッドを使用してjsonを返すサンプルコードを記述してます。railsはwindows10で動作してます。
環境
- OS windows10 pro 64bit
- ruby 2.7.1
- rails 6.0.3.2
※windows10にrubyをインストールして実行する手順はこちら
※windows10にRuby on Railsをインストールして利用する手順はこちら
Controller作成
まずは、下記のコマンドでcontroller「sample」を作成します。
rails generate controller sample index
json表示
jsonデータを表示させるために、
「app\controller」に 生成された「 sample _controller.rb」を下記のとおりに編集します。
class SampleController < ApplicationController
def index
user = {'name' => 'taro', 'age' => 28}
render :json => user
end
end
ブラウザから http://プライベートIP or サーバーアドレス:3000/sample/indexにアクセスすると、jsonデータが作成されていることが確認できます。
respond_toメソッド 使用
次に。jsonをhtmlデータとして取得するためにrespond_toメソッドを使用します。
「 sample _controller.rb」を下記のとおりに編集します。
class SampleController < ApplicationController
def index
@user = {'name' => 'taro', 'age' => 28}
respond_to do |format|
format.html
format.json {render :json => @user}
end
end
end
「app\views\sample」フォルダ配下にある「index.html.erb」を下記の内容で作成します。
<p>
名前 <%= @user["name"] %><br />
年齢 <%= @user["age"] %>
</p>
ブラウザから http://プライベートIP or サーバーアドレス:3000/sample/indexにアクセスすると、jsonデータがhtml形式で表示されていることが確認できます。
また、 http://プライベートIP or サーバーアドレス:3000/sample/index.jsonにアクセスするとjsonデータが取得できます。
-
前の記事
javascript 配列をカンマ区切りの文字列に変換する 2020.11.11
-
次の記事
javascript 2階層あるjsonデータを1次元配列として出力する 2020.11.11
コメントを書く