①application.html.erbに各ページのタイトルを受け取れるよう、yieldを記述します <title><%= full_title(yield(:title)) %></title> ②application.html.erbのfull_titleメソッドが使えるよう、ヘルパーで定義します module ApplicationHelper def full_title(page_title = …
フラッシュメッセージを使い、「ユーザー登録ができませんでした」等なら上手くいかなかったことは伝えられるものの、どこがエラーで登録ができなかったのか、伝えられたらユーザーもわかりやすいですよね。 例:メールアドレスの蘭がブランク→メールアドレ…
Draperを使用した際の使い方を説明します。 (railsでデコレーター層を使いたい時はDraperか、Active_Decoratorを使うのが一般的です) ①gemをインストールする gem 'draper' ②bundle installする $ bundle install ③以下のコマンドを実行する $ rails generat…
フラッシュメッセージとは カスタマーが会員登録やログインなどの処理を行った時に、それが正しく処理されたのかをわかりやすくするために表示させるメッセージのこと。 書き方 flash[:success] = '登録が完了しました' このように書くだけ。 具体的な使い方…
①config/application.rbに以下の設定を追加 config.i18n.available_locales = %i[ja en] #アプリケーションが対応している言語の設定(ja=日本語、en=英語) config.i18n.default_locale = :ja #デフォルトの言語を日本語に設定 config.i18n.load_path += Dir[…
assets/stylesheetsの中にapplication.scssとは別にusers.scss等ファイルを追加した場合、appledation.scssで全て読み込むことができるよう、以下のように記述します。 *= require_tree . *= require_self *= require_tree .→app/assets/stylesheets以下の全…
rails generateコマンドを使うと必要なファイルを一度に生成してくれるため便利なものの、時には不必要なファイルも一緒に生成されてしまいます。 例えば$ rails generate controllerを実行すると以下のようにファイルが作られます。 $ rails g controller b…
form_withとは railsで情報を送信するためのヘルパーメソッド。 入力フォームを作成したい時に用いる。 form_withタグを使うとHTMLに変換された時に自動でauthenticity_tokenというセキュリティを高める隠しフィールドが生成されます。(GET以外のリクエスト…
strong parametersとは パラメータから受け取った値が安全かどうかを判断し、安全だと判断された場合のみデータを取得してくれる。 @user = User.new(params[:user]) 例えばこのようにしてユーザ情報を取得しようとすると、悪意を持った人物から管理者権限を…
class SessionsController < ApplicationController def create user = User.find_by(email: params[:session][:email].downcase) if user && user.authenticate(params[:session][:password]) else flash[:danger] = 'Invalid email/password combination' …
【新しいユーザを作成し、保存する】 > user = User.new > user.save > user = User.create #こっちはユーザの生成と保存を同時に行うため、user.saveは不要 【ユーザの名前を調べる】 > user.name 【ユーザを削除する】 > user.destroy 【ユーザ情報を複数…
applicationビューにはヘッダーやフッターなど全てのページで共通するものが記載されているため、他のビューに比べ1ページ長くなりがち。 また、大人数で開発をしていると、applicationビュー1つにも何人もの人が関わることになります。 「headerタグをいじ…
<html> <head> <title>Home | Ruby on Rails Tutorial Sample App</title> </head> <body> <h1>Home</h1> </body> </html> <html> <head> <title>Help | Ruby on Rails Tutorial Sample App</title> </head> <body> <h1>Help</h1> </body> </html> 上の2つのコードを見比べてみるとHTML構造とタイトルはほぼ同じ。 (違うのはタイトルの先頭とbodyの内容のみ) これだとDryの原則に反…
$ rails generate controller Usres home Usersコントローラを作成したかったのにスペルを間違えてしまった… そんな時は、genarateの部分をdestroyに変更して実行すると作成されたファイル等を全て削除してくれます。 その後正しいスペルで再度rails generat…
例:ウェブアプリに登録しているユーザのテーブル(Usersテーブル)とそのウェブアプリで登録したユーザが投稿したつぶやきを管理しているテーブル(Micropostsテーブル)を関連付けしたい class User < ApplicationRecord has_many :microposts end ↑1人のユー…
herokuは無料だとアプリを5つまでしか作ることができないため、 $ heroku createを実行しようとした時にエラーが発生。 $ heroku create Creating app... ! ▸ You've reached the app limit of 5 apps for unverified ▸ accounts. Delete some apps or add a…
コマンド 意味 $ echo 文字列 文字列を表示する $ man コマンド名 コマンドの意味を調べる $ clear 画面の内容を消す $ exit ウィンドウを閉じる $ echo 文字列 > ファイル名 ファイルを作成してその中に文字列を出力する $ echo 文字列 >> ファイル名 ファ…
チュートリアルを進めていてわからない単語が出てきたらここにメモ→わかり次第自分なりの言葉で説明文を付け加えていきます。 1章 【yarn】 Facebookが公開した、Node.jsのパッケージマネージャ(Node.js→サーバサイドで動くJavaScript)。 yarnを用いてパッケ…
rails g controller コントローラ名 アクション名 ■コントローラ ■ビュー 例. $ rails g controller about show ルーティングが作成される。 aboutコントローラのファイルが生成され、コンローラの中にshowアクションが追加される。 1.showビューが作成され…
・before_action 各コントローラの全アクションで共通する処理がある場合に用いる before_action :set_current_user(全アクションで共通する処理) def アクション end def アクション end ・ ・ ・ def set_current_user @current_user = User.find_by(id: p…
link_to("ログイン","/login")→「get」のルーティング form_tag("/login") do→「post」のルーティング をそれぞれデフォルトで探す。 link_toで「post」のルーティングを探したいときは link_to("ログイン","/login",{method: "post"}) このように第三関数に…
@post = Post.find_by(id: 2) → (変数) = (モデル名).find_by(カラム名: 値) 特定のidの投稿を取得することができる
<% posts = [ "文章", "文章" ] %> <% posts.each do |post| %> <%= post %> <% end %> 変数postsに配列を代入 posts(配列).each do |post(変数名)| <%= post %>で配列から1つずつ取り出し、表示している each文は最後に「end」をつけることを忘れずに 文章 …
rails g controller home topを実行すると、 「homeコントローラ」が作成され、homeコントローラの中に「topアクション」が追加される class Homecontroller < Appricationcontroller def top end end このアクションはブラウザに返すビューをviewフォルダの…
フォームに入力されたデータを送信したいときにこのメソッドを使用する。 <%= form_tag("送信先のURL") do %> <% end %> ↑基本の書き方 <%= form_tag("送信先のURL") do %> <textarea></textarea> <input type="submit" value="送信"> <% end %> ↑このようにして do と end の中にフォームを作ることで「送信ボタン」…
変数を定義するときは通常ビューではなく、アクション内で行う。 しかし、アクション内で定義した変数はそのままだとビューで使用することができない。 変数を「@」から始めるとビューでも使用することができるようになる。
(ターミナル)$ rails new アプリケーション名→フォルダやファイルを作成
railsではlink_toメソッドを使うとタグを作成することができる <%= link_to("第一関数","第二関数") %> 第一関数→表示したい文字 第二関数→URL を入力するとリンクが作成される ※Rubyのコードのため、<%=%>で囲む必要がある
ページ作成に必要なもの ビュー コントローラ ルーティング
railsで開発を始める ・開発に必要なフォルダやファイルを自動生成する ターミナルでrails new アプリケーション名と入力 ↑開発に必要なフォルダやファイルが自動生成される