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