Please enable JavaScript.
Coggle requires JavaScript to display documents.
rails 知識の整理 - Coggle Diagram
rails 知識の整理
DBの作成
model
テーブルのことだと思って良いだろう
名づけ方
モデル名
イニシャル:大文字
それ以降:小文字
末尾:単数で終わる
例:Post
テーブル名
自動でモデル名の複数形、小文字verになる
例:posts
コマンドで使うことはない印象
$ rails g model Post ”content" : text
適用
rails db:migrate
カラムの追加
rails g migration add_"カラム名"
to
"テーブル" "カラム名":"データ型"
パスワード管理
Gemファイル
gem 'bcrypt' と記述
bundle install
Userモデル
has_secure_passwordと記述
マイグレーションファイル
password_digestカラムをユーザのテーブルに追加
ログインのコントローラー
「@user.authenticate
(params[:パスワード])」は、一致すればtrueを返す。
これを条件に巻き込む
has_secure_passwordを書いた時点で使用可能
画像の投稿について
controller
File.binwrite
view
<%= form_tag("送信先のURL", {multipart: true}) %>
<input type="file">
アクセス制限
メソッド名:アクセス制限に関する
新しく作成
どこに書く:application_controller
before_action :メソッド名, {only: [:アクション名, :アクション名, ... ]}
どこに書くか:各コントローラ
投稿後の処理
バリデーション
post=Post.new(content:"")
変数postに代入
validatesに反しているとpost.saveはfalse
falseならエラーメッセージ
@post.errors.full_messages
エラーのメッセージが詰まった配列
同じページにとどまる
リダイレクトをすると、投稿内容が消える(DBを参照しなおすので)
render関数(”ディレクトリ"/"ビュー名")
trueならサクセスメッセージ
flash
リダイレクト先のアクションに書く
ワンタイムだけ保持できる変数
ApplicationRecordを継承しているとこに書く
ログイン
session[:user_id]