DB(SQLite3)を使うシンプルなRailsアプリの作り方

アプリ作成用のフォルダ(/Users/ユーザー名/Documents など)でrails new します。

$ cd /Users/ユーザー名/Documents 
$ rails new アプリ名


アプリ名はここではraislbase2とします。
rails new railsbase2)


raislbase2/Gemfile を開き、以下を変更します。
(※これはAWS OpsWorksを使用する際には必要な設定ですが、その他の環境の場合は不要です。)
gem 'therubyracer', platforms: :ruby
gem 'unicorn'
コメントアウトする(有効にする)。


gem 'mysql2', '~> 0.3.16'
を追加する。




続いて、以下コマンドを入力します

$ cd railsbase2
$ bundle install 
$ rails generate controller Messages index
$ rails generate model Message name:string body:string
$ rake db:migrate


raislbase2/config/routes.rb を開き、以下のようにします。

Rails.application.routes.draw do
  #get 'messages/index'
  root 'messages#index'
  resources :messages , only: [:create]
end


railsbase2/app/controllers/messages_controller.rb を開き、以下のようにします。

class MessagesController < ApplicationController
  def index
    @messages = Message.all
  end

  def create
    @message = Message.new(message_params)
    @message.save
    redirect_to root_path , notice: 'メッセージを保存しました'
  end

  private
  def message_params
    # params[:message]のパラメータで name , bodyのみを許可する。
    # 返り値は ex:) {name: "入力されたname" , body: "入力されたbody" }
    params.require(:message).permit(:name, :body)
  end
end


railsbase2/app/views/messages を開き、以下のようにします。

<h1>メッセージ一覧</h1>
<% @messages.each do |message| %>
  名前:<%= message.name %>
  内容:<%= message.body %>
  <br>
<% end %>

<%= form_for(Message.new) do |f| %>
  名前:
  <%= f.text_field :name %>

  内容:
  <%= f.text_field :body %>
  <%= f.submit %>
<% end %>

以下のコマンドでアプリを起動し、http://localhost:3000/ にて動いていることを確認します。

$ rails s



以上です。
完成した物はこちらになります。
https://github.com/fumio-shimamura/railsbase2