マイクロポスト用のモデル作成 Ruby on RailsでWebサイト公開!に挑戦中
FC2ブログ

Ruby on RailsでWebサイト公開!に挑戦中

レンタルサーバーでWebサイトを公開すべく、Ruby on Railaの勉強をする日々を語ります。

PREV | PAGE-SELECT | NEXT

≫ EDIT

マイクロポスト用のモデル作成

これからマイクロポストの機能を追加するので、まずマイクロポストのモデルを作成します。


以下、「Ruby on Rails Tutorial」の10章を参考に行います。
参考資料ページの6.参照

●マイクロポスト用のモデル作成

①Micropost作成

下記カラム構成でMicropostモデルを作成します。
カラム名   タイプ
content   string
user_id   integer

$ rails generate model Micropost content:string user_id:integer
invoke active_record
create db/migrate/20131018130036_create_microposts.rb
create app/models/micropost.rb
invoke test_unit
create test/models/micropost_test.rb
create test/fixtures/microposts.yml

②インデックス追加

"user_id"カラムと自動で作成される"created_at"を同時に指定して multiple key indexとして定義します。

$ vi db/migrate/20131018130036_create_micropost
s.rb

class CreateMicroposts < ActiveRecord::Migration
def change
create_table :microposts do |t|
t.string :content
t.integer :user_id

t.timestamps
end
add_index :microposts, [:user_id, :created_at]
end
end


$ bundle exec rake db:migrate
== CreateMicroposts: migrating ===============================================
-- create_table(:microposts)
-> 0.0309s
-- add_index(:microposts, [:user_id, :created_at])
-> 0.0004s
== CreateMicroposts: migrated (0.0315s) ======================================


●存在チェックのバリデーション定義

マイクロポストには、どのユーザーが投稿したのか識別する必要があるので、"user_id"に対し、存在チェックのバリデーションを定義します。

$ vi app/models/micropost.rb

class Micropost < ActiveRecord::Base
validates :user_id, presence: true
end


| アプリ作成 | 12:42 | comments:0 | trackbacks:0 | TOP↑

COMMENT















非公開コメント

TRACKBACK URL

http://hbnist76.blog.fc2.com/tb.php/243-ce4523a6

TRACKBACK

PREV | PAGE-SELECT | NEXT