- 1. Ruby on Rails覚書
- 2. そもそもRuby on Railsとは
- 3. アプリケーションの新規作成
- 4. サーバを立ち上げる
- 5. トップページの自動作成
- 5.1. ポート番号指定で、Railsサーバーを停止したい
- 5.2. 【Rails】いいね機能を非同期実装
- 5.3. 【初学者向け】【Rails】 命名規則の理解の仕方を纏めてみた
- 5.4. Rails Tutorialを咀嚼する【第2章 Toyアプリケーション】
- 5.5. Railsで検索機能を実装する方法
- 5.6. 【⭐️オススメ便利機能⭐️】~インデントを色で識別!?~
- 5.7. wwwなしの、SSL(https)にリダイレクトしたいときのNGINXの設定 -Route 53 + ELB (ACM) + EC2構成-
- 5.8. Ruby on RailsのDevise gemを使ってエラーCouldn’t find User with ‘id’=sign_inが出た時の対処法
- 5.9. ec2使用時にdockerの容量がいっぱいになった際の対処法
- 5.10. 【Rails】定数は、config gemで管理しましょう
- 5.11. 独学半年の実務未経験がRails+Nuxt.jsでSPA作ったので見て欲しい
- 5.12. [備忘録] “expect“の後ろは“()“か“{}“か。 (Module: RSpec::Matchers)
- 5.13. jQueryとancestryを使ったカテゴリー選択機能(Ajax)
- 5.14. Could not load the ‘listen’ gem. Add `gem ‘listen’` to the development group of your Gemfile (LoadError)というエラーの解決法について
- 5.15. GitHubに100MB超えのファイルをプッシュしてエラーになった
- 5.16. 検索機能の実装
- 5.17. 【Rails】deviseで行うアクセス制限にエラーメッセージを表示させる。
- 5.18. Railsアプリで時間を表示したときの「UTC」を消したい(Railsのタイムゾーンの扱い方)
取得するレコードを最新順表示にする方法
#取得するレコードの順番を変える
ツイートを並び替える方法は、表示の時に順番を変えるのではなく、情報を取得するタイミングで先に並び替えておきます。
##order メソッドを使用する
【例】“`
インスタンス = モデル名.all.order(“並び替えの基準となるカラム名 並び順”)
“`
並び順にはそれぞれAscending/Descendingの略でASC(昇順)とDESC(降順)の2種類があり、値が「小さいものから大きいものになる」または「古いものから新しいのものになる」場合は昇順、その逆は降順を使います。##tweets_controller.rbを以下のように編集
レコードが作成された日時情報を持つcreated_atカラムを基準に並び替えます。app/controllers/tweets_controller.rb
“`
def index
@tweets = Tweet.includes(:user).order(“created_at DESC”)
end
“`
orderメソッドの引数として(“created_at DESC”)とすれ
Ruby on Rails 基礎 覚書
Ruby on Rails覚書
Ruby on Rails の基礎を勉強中なので、自分自身で覚えるためにも覚書として残しておきます。
そもそもRuby on Railsとは
Rubyで書かれた、Webアプリケーションフレームワーク。MVC(Model, View, Controller)モデルを採用している。プログラマーの負担を軽減するために、必要なものを事前にフレームワークに用意してある。
基本理念として、「Don’t Repeat Yourself」, 「Convention over Cofiguration」の二つがある。アプリケーションの新規作成
“`
rails new アプリケーション名
“`アプリケーション名のフォルダが作成される
サーバを立ち上げる
“`
rails server
“`トップページの自動作成
“`
rails generate controller home(コントローラ名) top(アクション名)
“`トップページの自動作成
ポート番号指定で、Railsサーバーを停止したい
デタッチモードでサーバーを起動する(`$rails s -d`)と便利なのだが、
よく停止するのを忘れてどのプロジェクトファイルがそのポート番号を使っているのかわからなくなり、tmp/pids/server.rbのファイルを消去して停止するという方法がとれない時がある。そういう時は、
`$ Sudo kill -9 $(lsof -i :任意のポート番号 -t)`
で消す事ができる。
[参考記事①](https://bit.ly/30OpaID)、[参考記事②](https://bit.ly/3fTrz90)
【Rails】いいね機能を非同期実装
# 1. はじめに
以下のデモ動画の様に、ユーザーが投稿した内容に対して”いいね”が出来る機能を実装していきます。
[![Image from Gyazo](https://i.gyazo.com/9eeae3a3b252bda35ee4b5b4639e7bdb.gif)](https://gyazo.com/9eeae3a3b252bda35ee4b5b4639e7bdb)# 2. 前提条件
既にユーザー登録機能と投稿機能は実装されている前提で、そこに”いいね機能”を追加実装する。という流れで進めていきます。下記の様なデータベース構造をイメージしてもらえたら分かりやすいと思います。
![ER 図(Qiita).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/645591/7a8e68e4-4e76-34fc-5712-90773d273815.png)# 3. いいね機能の実装
**■実装するまでの流れ**
ざっくり説明すると、以下の流れで実装していきます。
・モデルの作成
↓
・
【初学者向け】【Rails】 命名規則の理解の仕方を纏めてみた
※Qiita初投稿
どうも Toda Masaoです。
Railsを学習中 __”モデル名は単数系 / コントローラー名は複数形”__
といった単数形/複数形の命名規則に出会いました。「どういう基準で単数・複数形を分けているんや…」
「そもそもこのヘンテコルールは何のために…」
と理解できない部分が多かったため、自分なりに調べてみました。結果、初学者向けに分かりやすく解説されている記事がなかったので
自分なりの解釈(と調べた結果)を纏めてみました。他初学者の方の理解を深める手助けになればと思います。
※解釈に誤りがあれば随時修正します# 単数系と複数形にする理由
__ ・コントローラー名は末尾に”s”を付けて複数形にする
・モデル名は末尾に”s”を付けずに単数形にする__という風にRailsには単数系複数形に関する命名規則があり、
これを遵守しない場合はエラーが発生するという強い制約があります。
まず「何のためにそんな制約を設けているの?」という点について疑問に思ったので調べてみました。結果:
Railsには__「設定より規約」__というの基本理念があり
Rails Tutorialを咀嚼する【第2章 Toyアプリケーション】
#2.1 アプリケーションの計画
■rails generate
以下4つの使い方がある。
1.rails generate controller
→コントローラーとビューとルーティングを生成
2.rails generate model
→モデルとマイグレーションファイルを生成
3.rails generate migration
→マイグレーションファイルを生成
4.rails generate scaffold
→全て(コントローラー、ビュー、モデル、マイグレーションファイル、ルーティング)を生成。以下の説明が分かりやすい
https://diveintocode.jp/blogs/Technology/RailsGenerateCommand■マイグレーション
マイグレーションファイルを元にDBのテーブル操作を行う仕組み。
直接SQL文を書かずにDBをいじれる。(テーブルの作成ができる)■マイグレーションファイル
DBを生成する際の設計図。スクリプトファイル。
rails db:migrate を実行することでDBに反映される。#2.2 Usersリソース
■r
Railsで検索機能を実装する方法
今回はRailsで検索機能を実装する方法をご紹介いたします。
# 環境
– Ruby 2.5.7
– Rails 5.2.4# 前提
– ブログサイトの記事を検索する機能として説明する
– 記事のテーブルはposts
– postsのカラムはtitle、body
– 記事一覧画面(index.html.erb)に検索フォーム、検索結果を表示# 検索のルーティングを設定する
“`ruby:routes.rb
get ‘search’ => ‘posts#search’
“`
# 記事一覧画面に検索フォームを作成“`html:index.html.erb
<%= form_with url: search_path, method: :get, local: true do |f| %>
<%= f.text_field :keyword, value: @keyword %>
<%= f.submit "検索" %>
<% end %>OTHERカテゴリの最新記事
- 2024.09.19
JavaScript関連のことを調べてみた
- 2024.09.19
JAVA関連のことを調べてみた
- 2024.09.19
iOS関連のことを調べてみた
- 2024.09.19
Rails関連のことを調べてみた
- 2024.09.19
Lambda関連のことを調べてみた
- 2024.09.19
Python関連のことを調べてみた