2019年02月19日

HerokuでRailsアプリをリリース

とりあえずHeroku CLI をインストール

brew install heroku/brew/heroku


次にコマンドライン上からHerokuにログインします。

heroku login


アプリを作成します

heroku create


herokにプッシュします。

git push heroku master


現在作業しているブランチがmaster出ない場合は以下のコマンドでプッシュします。

git push heroku 現在のブランチ名:master


DBのマイグレードを行います

heroku run rails db:migrate


以下のコマンドでHerokuで公開されたページを見ることができます

heroku open


本来だったらこれでOKなのですがDBのマイグレード時に以下のようなエラーがでてmigrateできない事案と遭遇

LoadError: Error loading the 'postgresql' Active Record adapter. Missing a gem it depends on? pg is not part of the bundle. Add it to your Gemfile.


原因は.bundle/configをherokuにアップロードされていたためproduction環境でのバンドルが失敗していたみたい。

.bundle/configを削除してもう一度pushしてマイグレードすればちゃんと動きました。
posted by ねこまんま at 12:21
Comment(0) | サーバ

2019年02月16日

Ruby on Railsでcontrollerを利用

Ruby on Railsでcontrollerを利用してみます。

以下のコマンドでPostsコマンドをジェネレートします。

rails g controller Todos


config/routes.rbにルーティングの設定を追加

Rails.application.routes.draw do
# For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html
resources :todos
end


app/controllers/todos_controller.rbに以下の設定を追加

class TodosController < ApplicationController

def index
@todos = Todo.all.order(created_at: 'desc')
end

end



app/views/todos/index.html.erbに以下の設定を追加します。

<h2>my todos</h2>
<dl>
<% @todos.each do |post| %>
<dt><%= post.title %></dt>
<dd><%= post.body %></dd>
<% end %>
</dl>


これでhttp://localhost:3000/todos/にTODOの一覧が表示されるようになります。
posted by ねこまんま at 18:32
Comment(0) | Ruby

Ruby on Railsのseeds.rbを利用してデータを設定する

定期定期に追加したい値、たとえばDBの初期値などは db/seeds.rb内に設定しておくことができます。

たとえば以下のような内容をdb/seeds.rb内を記述しておき

Post.create(title: 'タイトル3',body:'本文3')
Post.create(title: 'タイトル4',body:'本文4')


以下のコマンドを実行するとDBに2レコードが追加されます。

rails db:seed


上記のコマンドを実行するたびにレコードが追加されていきますので、以下のコマンドでレコードをリセットしてから追加すると良いでしょう

rails db:migrate:reset


posted by ねこまんま at 17:08
Comment(0) | phpチュートリアル

Ruby on RailsでコンソールからDBを操作

Ruby on Railsでは以下のコマンドでデータベースコンソールにアクセスでき直接DBを操作することができます。

rails db


たとえば以下のコマンドでデータベースの一覧を見ることができます。

.tables


以下のコマンドでtodosテーブルのレコードの一覧を表示することができます。

select * from todos;


以下のコマンドでデータベースコンソールから抜けることができます。

.quit
posted by ねこまんま at 16:44
Comment(0) | Ruby

Ruby on Railsでコンソールからデータを追加

Ruby on Railsでコンソールを利用してコマンドラインから操作を行うにはまず以下のコマンドでコンソールに入り

rails c


モデルに新しいレコードを追加したい場合は以下のコマンドで生成コマンドを作成して

t = Todo.new(title: 'タイトル',body:'本文')


実行します。

t. save


以下のコマンドで追加と実行をまとめて行うことも可能です。

Todo.creaet(title: 'タイトル2',body:'本文2')
posted by ねこまんま at 16:38
Comment(0) | Ruby

2019年02月15日

Ruby on RailsのScaffoldを使う

Ruby on RailsのScaffoldを使うことで簡単なCRUDを作成することができます。

rails g scaffoldのあとに大文字スタートでテーブル名、その後にフィールド名と型を記載して実行します。

rails g scaffold Todo title:string body:text


以下のコマンドで設定をDBに反映します。

rails db:migrate


設定が反映されたら以下のコマンドでサーバーを起動して

rails server


以下のページにアクセスすると簡単なTODOアプリが作成されています。

http://0.0.0.0:3000/todos

単純にModelを追加したいだけなら以下のコマンドで追加可能です。

rails g model Todo title:string body:text
posted by ねこまんま at 14:10
Comment(0) | Ruby

Ruby on Railsのインストール

Ruby on Railsのインストールを行います。

まずはrbenvを利用してrubyをインストールします。

次にSQLite3 のインストール

gem install sqlite3


ちゃんとインストールされたかバージョンを確認

sqlite3 --version


今回は3.19.3がインストールされました。

次にRuby on Railsをインストール

getm install rails


ちゃんとインストールされたかバージョンを確認

rails -v


今回は5.2.2がインストールされました。

これでRuby on Railsのインストールは終了

コマンドラインから新規プロジェクトを作成して立ち上げます。

rails new myApp


作成したプロジェクトに移動します。

cd myApp


そして作成したアプリを起動

rails server


で起動するはずが以下のようなエラーで立ち上がらず

#<LoadError: Error loading the 'sqlite3' Active Record adapter. Missing a gem it depends on? can't activate sqlite3 (~> 1.3.6), already activated sqlite3-1.4.0. Make sure all dependencies are added to Gemfile.>


Gemfilesを開いてsqlite3に関する記述を変更

gem 'sqlite3'

gem 'sqlite3', '~> 1.3.6'


以下のコマンドでgemのインストール

bundle install


そして作成したアプリを起動

rails server


すると、『Yay! You’re on Rails!』と書かれたページがたちあがります。
posted by ねこまんま at 13:29
Comment(0) | Ruby

2019年02月14日

rbenvでrubyをインストール

まずはbrewをアップデート。結構時間がかかりますが我慢

brew update


次にrbenvとuby-buildのパッケージをインストール

brew install rbenv ruby-build


現在利用されているRubyのバージョンを確認。

rbenv versions


デフォルトはsystemになっています。

* system (set by /Users/xxxx/.rbenv/version)


現在利用できるRubyのバージョンを確認

rbenv install -l


無印の最新の2.6.1をインストール

rbenv install 2.6.1


インストールしたruby 2.6.1をデフォルトで利用するように変更

rbenv global 2.6.1


現在利用されているrubyのバージョンを確認

rbenv versions


systemから2.6.1に変更されたのが確認できます

 system
* 2.6.1 (set by /Users/xxxx/.rbenv/version)


rbenvにパスを通すため、.bashrcに以下を追加します。

[[ -d ~/.rbenv  ]] && \
export PATH=${HOME}/.rbenv/bin:${PATH} && \
eval "$(rbenv init -)"


設定したらターミナルを再起動するか以下のコマンドで設定内容を反映します。

exec $SHELL -l


最後に設定が反映されているか確認、rubyのバージョンを確認

ruby -v


ruby 2.6.1...と表示されればOK

ruby 2.6.1p33 (2019-01-30 revision 66950) [x86_64-darwin17]


次にrubyのパスを確認

which ruby


rbenv以下に設定されていればOK

/Users/xxxx/.rbenv/shims/ruby


最後gemのパスを確認

which gem


rbenv以下に設定されていればOK

/Users/xxxx/.rbenv/shims/gem



posted by ねこまんま at 12:23
Comment(0) | Ruby

2018年06月23日

AWSのES2にファイルをアップロード

scpコマンドでファイルのアップロードを行います。

scp -i {pemのパス} {ファイルのパス} {ユーザー}@{ホスト}:{ディレクトリ}

たとえば以下のようになります。

scp -i XXX.pem ./XXX.html ec2-user@ec2-XXX.ap-northeast-1.compute.amazonaws.com:/home/ec2-user

-rオプションを指定するとディレクトリごとアップロードすることができます。

scp -i XXX.pem -r ./XXX ec2-user@ec2-XXX.ap-northeast-1.compute.amazonaws.com:/home/ec2-user

以下のように {ファイルのパス}を後ろに変更するとダウンロードとすることができます

scp -i {pemのパス} {ユーザー}@{ホスト}:{ディレクトリ} {ファイルのパス}

scp -i XXX.pem ec2-user@ec2-XXX.ap-northeast-1.compute.amazonaws.com:/home/ec2-user/XXX.html ./

-rオプションを指定するとディレクトリごとダウンロードすることができます。

scp -i XXX.pem -r ec2-user@ec2-XXX.ap-northeast-1.compute.amazonaws.com:/home/ec2-user/XXX ./
posted by ねこまんま at 12:19
Comment(0) | AWS

2018年05月07日

プロジェクトディレクトリから.gitやnode_modulesを除いたものをzipに変換する

以下のコマンドでzipを作成可能

zip -r app.zip app -x *.git* *node_modules*
posted by ねこまんま at 22:23
Comment(0) | Git

広告


この広告は60日以上更新がないブログに表示がされております。

以下のいずれかの方法で非表示にすることが可能です。

・記事の投稿、編集をおこなう
・マイブログの【設定】 > 【広告設定】 より、「60日間更新が無い場合」 の 「広告を表示しない」にチェックを入れて保存する。