Action Cableの習作: Examplesの更新: 1: モデルの作成
外観
GitHubで公開されているAction Cableのサンプルコードが最後に更新されたのは2017年です。Rails 6環境に合わせてこのコードを書き直してみました。手順が長くなったため投稿を4回に分けています。
1. モデルの作成
2. ユーザの認証
3. メッセージとコメントの表示
4. Action Cableの利用
環境
macOS 10.15.4
Ruby 2.7.1
Rails 6.0.3
Yarn 1.22.4
Node 13.12.0
リポジトリ
参照
モデル作成
下記のモデルを作成します。
Rails new
アプリを新規作成します。
rails new -MT --skip-active-storage try_ac_examples
cd try_ac_examples
Generate User model
ユーザモデルを生成します。
bin/rails g model User name
bin/rails db:migrate
Add User seeds
ユーザのシードを追加します。
db/seeds.rb
big = User.create! name: 'The Notorious B.I.G.'
snoop = User.create! name: 'Snoop Dogg'
flex = User.create! name: 'Funkmaster Flex'
ice = User.create! name: 'Ice Cube'
問題なくユーザが作成されることを確認します。
bin/rails db:seed:replant
Generate Message model
メッセージモデルを生成します。
bin/rails g model Message title content:text user:belongs_to
bin/rails db:migrate
ユーザモデルにhas_manyを追加します。
app/models/user.rb
class User < ActiveRecord::Base
has_many :messages
end
Add Message seeds
メッセージのシードを追加します。
db/seeds.rb
Message.create! title: 'Tha Shiznit', content: 'Poppin, stoppin, hoppin like a rabbit', user: snoop
Message.create! title: 'Hypnotize ', content: 'Hah, sicker than your average Poppa', user: big
問題なくユーザとメッセージが作成されることを確認します。
bin/rails db:seed:replant
Generate Comment model
コメントモデルを生成します。
bin/rails g model Comment content:text user:belongs_to message:belongs_to
bin/rails db:migrate
ユーザモデルにhas_manyを追加します。
app/models/user.rb
class User < ActiveRecord::Base
has_many :messages
has_many :comments
end
メッセージモデルにhas_manyを追加します。
app/models/message.rb
class Message < ActiveRecord::Base
belongs_to :user
has_many :comments
end
モデルが作成できることを確認します。
bin/rails c -s
Comment.count
=> 0
u = User.first
m = Message.first
Comment.create! content: 'content', user: u, message: m
モデルの作成は、以上になります。
この記事が気に入ったらサポートをしてみませんか?