読者です 読者をやめる 読者になる 読者になる

感謝のプログラミング 10000時間

たどり着いた結果(さき)は、感謝でした。

Railsの勉強メモ

<スポンサーリンク>

ルーティングとは、リクエストURLに応じて処理の受け渡し先を決定するしくみのこと。
ルーティング設定は/config/routes.rbのApplication.routes.draw のブロック内に記述する。


■トップページへのルートを定義する方法

ウェブサイトのrootのURLとして、あるページを設定したいときは、routes.rbを以下のように設定する。

・/config/routes.rb

root :to=> 'sample#index'

このときは、デフォルトで用意されている/public/index.htmlを削除する。
Railsではルート定義よりも、/publicフォルダ配下の静的ファイルを優先して認識してしまうため、削除しなければ設定が反映されない。

Railsクロスサイトリクエストフォージェリ対策
Railsでは、protect_from_forgeryメソッドとcsrf_meta_tagsビューヘルパーによってCSRF攻撃を防ぐ。
これらをそれぞれApplicationコントローラとレイアウトテンプレートで呼び出しておくことで、アプリケーション内部でトークンと呼ばれるランダムな文字列が生成され、フォームに自動的に埋め込まれるようになる。

リクエストを処理する際に、アプリケーション側で保持しているトークンと、リクエスト時に送信されたトークンを比較し、これが一致していれば正規の要求であるとみなす。

・application_controller.rb

class ApplicationController < ActionController::Base
	protect_from_forgery

end

layouts/application.html.erb

<head>
  <%= csrf_meta_tags %>
</head>