1
0

More than 3 years have passed since last update.

railsの復習

Last updated at Posted at 2019-11-15

Railsでの処理のポイント

  • ルーティング
  • コントローラー
  • モデル
  • ビュー

モデル、ビュー、コントローラーをまとめて
MVCという。

HTTPメソッド

  • GET ページを表示する操作
  • POST データを登録する操作
  • PUT データを変更する操作
  • DELETE データを削除する操作

コントローラ アクション

  • index 一覧表示リクエストアクション
  • new 新規投稿リクエストアクション
  • create データ投稿リクエストアクション
  • show 個別詳細表示リクエストアクション
  • edit 投稿編集表示リクエストアクション
  • update データ編集リクエストアクション
  • destroy データ削除リクエストアクション

部分テンプレート

renderメソッドを使う。
renderメソッドのpartialオプションでファイルの指定を行う。
部分テンプレートのファイル名の先頭は「_(アンダーバー)」で始める。

★以下、省略表示が鬼。順々に教えてもらいたいところ。部分テンプレートの理解が浅いうちから最終省略形見せられたら大混乱間違いなしだわ・・・。でも改めて見ると、やりたいことをササッとやってくれ、って考えると最終形の方が直感的に分かるか、って気がしないでもないが、経緯を理解した上で使ってかないと、部分テンプレートがどれなのか分からなくなりそう。

<% @users.each do |user| %>
  <%= render partial: "user", locals: { user: user } %>
<% end %>
<%= render partial: "user", collections:  "@users" %>
<%= render @users%>

フォーム入力データの取得

form-tagに入力されたデータは、params.permit(フォームの名前定義)で取得。
form-withに入力されたデータは、params.require(モデル名).permit(フォームの名前定義)で取得。
form-withの場合、form-tagに比較して深い階層に保存される為、require()が必要になる。フォームの入力データは、プライベートメソッドにて取得することで、Classの外部から呼び出されないようにする。

バリデーション 一定の制約をかける

空のデータを登録できないようにするような場合に使用。
validates フォームの名前定義, presence: true

link_to

link_to 表示するテキスト, prefixもしくは、URIパターン, HTTPメソッド
HTTPメソッドを省略した場合は、GETで実行されるので注意する。

ridirect_to

コントローラのビューに関わらず、特定のページにとばす。
ridirect_to アクション名 (実行条件?)

コードの記述(試験対策)

スコープの意識は・・・まだあんまりしなくていいのかな。
コードの書き順はよく確認すること。routes.rbのコードの書き順に注意。
いつもは頭に書いてるのが末尾にあったり、
先に定義していないといけないコードを、後ろに書いてあったりする。


railsのエラー修正問題ヤベェな。
どないしょ。

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