*

【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

記事を読む

【Ruby on Rails 備忘録】LINE Messaging API でチャットボットを作る

    毎回悩むので自分用の備忘録として保存します。   なお、ほとんどが、こちらの方の記事を参考

記事を読む

【Ruby on Rails 備忘録】Herokuを使って公開中のアプリを更新する

        前回のブログ 【Ruby on Rails 備忘録】Herokuを使ってWEBに公開

記事を読む

【Ruby on Rails 備忘録】Herokuを使ってWEBに公開する

    Ruby on Railsで作ったアプリケーションをHerokuでWEBに公開する際、

記事を読む

ad

Message

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

ad

【Raspberry Pi 備忘録】ラズベリーパイのSSH接続時のエラー「POSSIBLE DNS SPOOFING DETECTED! 」「REMOTE HOST IDENTIFICATION HAS CHANGED! 」

Mac のターミナルからラズベリーパイにSSH接続をしようとすると、

【平成30年7月豪雨】江田島にボランティアに行ってきました。

      この度の集中豪雨(平成30年7月豪雨)で私の住む広島県は多

「IoT Conference 2018 デジタライゼーションの未来」 備忘録メモ

  6月15日に、このイベントに参加しました。   IoT Confe

映画『万引き家族』を観て(ネタバレあり)

        (注意)ネタバレあり     カンヌ映画祭でパルムド

「InaHack 2018 1st Session “ideathon”」に参戦!

  6月16日・17日と、長野県伊那市で開催された「InaHack

→もっと見る

    • 307758総閲覧数:
    • 28今日の閲覧数:
    • 231昨日の閲覧数:
    • 0現在オンライン中の人数:
    • 2014年4月29日カウント開始日:
PAGE TOP ↑