*

【Ruby on Rails 備忘録】 WEBサービスを作ろうと思った時、最初にすること

公開日: : 最終更新日:2017/01/14 Ruby on Rails , , , ,

 

 

いつも忘れるので、

自分用備忘録として残します。

 

私のやり方なので、あくまでもご参考にしてください。

(scaffoldを使えばもっと簡単でしょうし)

 

 

 

私が使用してるソフト

 

テキストエディタ

Sublime Text

 

データベースの管理

Sequel Pro

 

 

 

 

まず

 

【ターミナル】

 

カレントディレクトリへ移動

$ cd XXX

 

Ruby on railsのプロジェクトを作成

(データベースをmysqlに指定する場合)

$ rails new アプリケーション名 -d mysql

 

※以降、アプリケーション名は pics とします。

 

データベース作成

 

【ターミナル】


$ cd アプリケーション名

$ bundle exec rake db:create

 

データベースができてるか確認

 

 

【Sequel Pro】


ソケット localhost

ユーザ名 root

 

接続

 

1

 

 

データベースを選択

 

アプリケーション名_development

アプリケーション名_test

ができてたらOK

 

 

以降、アプリケーション名は、写真を投稿するアプリと仮定し、pics とします。

 

サーバーの立ち上げ

 

【ターミナル】

 

$ rails s

 

 

【ブラウザ】

 

以下のURLを入力

http://localhost:3000/

 

こんな画面が出たらOK

 

2

 

 

【ターミナル】

 

なお、サーバーが立ち上がってる時は、ターミナルが使えないので、

「コマンド + T」で別のタグを作ること

 

サーバーを終了するには、

「コントロール + C」

 

 

ルーティングの作成

 

【テキストエディタ】

 

Config > route.rb

 

 

2行目で ルートディレクトリを設定。

これで、localhost:3000 だけで、picsにつながる。

 

 

コントローラーの作成

 

【ターミナル】


コントローラーを作成

$ rails g controller pics

 

 

【テキストエディタ】

 

こんなファイルが生成される。

app > controllers > pics_controller.rb

 

 

pics_controller.rbを以下のように編集

 

 

ビューの作成

【テキストエディタ】

 

app > views > pics 

index.html.erb

というファイルを作る

 

すでにHTMLを作ってる場合は、ここにHTMLをコピペする。

 

画像タグは

<% image_tag ‘ファイル名’ %>

に置き換える。

 

CSSファイルは

app > assets > stylesheets

 

画像ファイルは

app > assets > images  

 

に保存する。

 

 

app > views > layouts > application.html.erb

ここに <header>とか、HTMLの共通部分を書く。

 

 

モデルの作成

 

【ターミナル】

 

サーバー起動中は、サーバーを止める。

「コントロール + C」

 

$ bundle exec rails g model pic  

 

※pics ではなく pic (単数)

 

 

【テキストエディタ】

 

モデルファイルが作成される

app > models > pic.rb

 

マイグレーションファイルの編集

db > migrate

 

データベースに、カラム(名前、テキスト、イメージ)を追加

 

 

 

指定できるデータ型は

 

binary

boolean

date

datetime

decimal

float

integer

primary_key

string

text

time

timestamp

 

 

 【ターミナル】

 

マイグレーションファイルの実行

$ bundle exec rake db:migrate

 

 

1つ前の状態に戻したい場合は、

$ rake db:rollback

 

 

 

 

 

【Sequel Pro】

 

データベースに、カラム(名前、テキスト、イメージ)を追加されてることを確認

 

 

 

 

 

以降、

何か機能を実装しようと思うたびに、

ルーティング、コントローラー、ビュー に追加していく。

 

ルーティング

config > routes.rb

 

コントローラー

app > controllers > pics_controller.rb

ここに def で定義する

 

ビュー

app > views > pics

ここに、新しい html.erb を追加していく

 

 

 

 

データベースのカラムを追加、削除したい時

 

カラムを追加したい場合

$ rails g migration Addカラム名(大文字で始める)Toモデル名(1文字開ける) カラム名:型

 

(例)rails g migration AddNameToPics name:string

 

 

カラムを削除したい場合

$ rails g migration Removeカラム名(大文字で始める)Fromモデル名(1文字開ける) カラム名:型

 

(例)rails g migration RemoveNameFromPics name:string

 

 

カラム追加も削除も以下を忘れずに

rake db:migrate

 

 

 

以上、とRuby on Rails でWebサービスを作る時の最初の一歩でした。

 

 

 

ad

    この記事が気に入りましたら、ぜひTwitter、facebookボタンをお願いします。
    ブログを書くモチベーションになります。よろしくお願いします。

  • このエントリーをはてなブックマークに追加
この記事が良かったらビットコインで寄付をお願いします。
ビットコイン投げ銭ウィジェット



関連記事

【Ruby on Rails 備忘録】JSON形式のデータから情報を取得する方法

JSON形式のデータから情報を取得する時、 いつも忘れるので、備忘録 飲食店の検索サービスから

記事を読む

【Ruby on Rails + LINE Messaging API 備忘録】 LINEボットに送った画像をAmazon S3に保存する

  LINE botに投稿した画像をAmazon S3に保存する方法です。 papercli

記事を読む

漢字を教えてくれるLINEのチャットボット「KANJI」を作りました。

    漢字を教えてくれるLINEのチャットボット「KANJI」を作りました         これは

記事を読む

【Ruby on Rails 備忘録】Errno::ECONNREFUSED: Connection refused – connect(2) for action mailer の解決方法

      Ruby on Railsで WEBサービスを作成中。   コメントがあったら

記事を読む

LINEのチャットボット「KANJI」に新機能「写真から漢字を答える機能」を追加しました。

      英単語を入力すると漢字を返してくれるLINEのチャットボット「KANJI」 こちら

記事を読む

ad

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

ad

映画『ガンジスに還る』を観てバラナシの思い出に浸る

    正月休み、暇してたので映画でも観ようと、 広島市内で上映してい

IoTを学ぶ第1歩にオススメの本『IoTの基本・仕組み・重要事項が全部分かる教科書』について

    個人的な印象ですが、昨年1年間を振り返ってみると、新聞やニュー

Tatsuya’s Blog 年間アクセスランキング 2018

今年を振り返る自己満足企画最終回       今回は、Tatsuya

Tatsuyaの2018年ベスト映画

  今年を振り返る自己満足企画第2弾。   今度は、映画編です。  

Tatsuyaの今年よく聴いた曲2018

    2018年もあと僅か。 年末恒例のTatsuyaの今年を振り返

→もっと見る

    • 354834総閲覧数:
    • 237今日の閲覧数:
    • 309昨日の閲覧数:
    • 1現在オンライン中の人数:
    • 2014年4月29日カウント開始日:
PAGE TOP ↑