記事一覧
Rails コメント機能
今回はコメント機能を作っていきます。
コメント機能とは何らかのデータに対してコメントができるものになります。
本記事は以下のマガジンで実装した内容を引き継いでいますが、以下のマガジンの内容を実装していなくても問題ありません。
コメントテーブルを追加まずはコメントテーブルを追加します。
本記事では、コメントはuserとbookに紐づくようにしますが、お好みのデータに紐づくように実装していただいて問
Rails 検索機能
今回はRailsで検索機能を作っていきたいと思います。
ひとえに検索機能と言っても色々と種類がたくさんあります。例えば、ジャンルやカテゴリーによる検索、フリーワードによる検索などです。
ジャンルによる検索は以下の記事で実装済みなので、今回はフリーワードによる検索機能を作っていきたいと思います。
初心者向けの記事で ransack を使用した検索機能を作る記事を見かけますが、初心者のうちこそそのよ
Rails ジャンル機能②
前回作ったジャンル機能にちょっとした機能を付け足していきます。
まずは以下のようにジャンル毎に本の数を表示する実装を付け加えます。
ジャンル毎の本の数を表示するまずはジャンル毎に本の数をカウントするためのメソッドを作成します。
最初にテストを以下のように修正し、実行してレッドになることを確認します。
describe '.group_by_name_with_book_count' do l
Rails ジャンル機能
今回はジャンル機能を作っていきます。
ジャンル機能とは何なのかという疑問が湧きますが、データをジャンルごとにわけられるようになったり、ジャンルで検索が行えたりする くらいに考えていただくといいと思います。似たような言葉にカテゴリーというものがあると思います。厳密な定義は違うのかもしれませんが、ジャンルもカテゴリーも大枠では似たようなものでしょう。ジャンルをカテゴリーと適宜読み替えていただいても問題
Rails アソシエーション
Railsの関連付け(アソシエーション)は、2つのモデル同士のつながりを指しています。
関連づけには以下のようなものがあります。
belongs_to
has_one
has_many
has_many :through
has_one :through
has_and_belongs_to_many
今回は主に使うことの多い belongs_to と has_many を使ってアソ
devise を導入⑤
開発環境で画面からデータを作成するのは大変なので、seed を使ってデータを作成する。
以下のコードを seed.rb に追加する。
user_attributes = (1..50).map do |n| { first_name: "test#{n}", last_name: "test#{n}", email: "test#{n}@example.com", pa