読者です 読者をやめる 読者になる 読者になる

落書きノート

ふと自分が気になった事を書いてます

Rails Scaffold無しのブログ作成

完成しました。RSSリーダー対応に使えると思うのですが、とりあえずXML形式やJSON形式についてのコードは後回しにしてます。使ったコマンドは以下のようになります。

# rails new blog_m
# rails g model Post
# rails g controller posts
# rake db:migrate
# rake routes
# rails s

必要最低限のコマンドしか使っていません。勉強のために。モデルに作成するキーやコントローラに対応するビューを書いていませんので手動で追加していきます。この辺はそんなに難しくありません。

Scaffoldをお手本に作りなおしただけなので、スキャフォールディングのコードとほとんど相違ありません。ちょっと自分好みにコードを変えました。そこだけ載せますね。

class Post < ApplicationRecord
  validate :add_error_message

  def add_error_message
    if title.blank?
      errors[:base] << "タイトルが空です。"
    end

    if body.blank?
      errors[:base] << "本文が空です。"
    end
  end
end

モデルにバリデーションの機能を追加しました。このコードなら詳細に出来ますね。validatesメソッドのエラーメッセージだと英語になってしまいますので…。環境を日本語化すれば出来るのかもしれませんが…。

さて、もっとRuby力を高めます。面白い言語だと思いますよ。皆さんにもおすすめです!