LoginSignup
2
1

More than 5 years have passed since last update.

respond_toにjsonを含んでいる時にFacebookなどのクローラーがJSONを読み込んでしまう問題

Posted at

現象

以下のようなソースでレスポンスのフォーマットを振り分けていた際、Facebookなどのクローラーに対しhtmlを返さず、json形式で返してしまうため、OGPがエラーになってしまう。

respond_to do |format|
    format.json { render json: user.to_json }
    format.html
end

原因

Facebookなどのクローラーは特定のフォーマットを要求しないため、respond_toのブロックを上から順番に実行し、一番上にあるjsonのフォーマットで返してしまう。

対処法

jsonとhtmlの順序を逆に入れ替えればいい。

respond_to do |format|
    format.html
    format.json { render json: user.to_json }
end

参考

2
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
2
1