ActiveRecord .newと.createの違い
テーブル名.new テーブル名.save
newはオブジェクトを作るだけ。
saveしないとdbに記録されない。
テーブル名.create
newとsaveをまとめてやってしまうのがcreate。
RailsにBootstrapを導入
Gemfileに以下を追加。
バージョンは任意で。
gem 'bootstrap-sass', '3.3.6'
bundle installする。
$ bundle install
app/stylesheetsにcustom.scssを追加。
内容は、
@import "bootstrap-sprockets"; @import "bootstrap";
としておく。
お試しのページを作ってみる。
$ rails g Static_pages home
app/views/static_pages/home.html.erbの内容を
<html> <head> <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %> </head> <body> <button type="button" class="btn btn-primary">Primary</button> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> <script src="js/bootstrap.min.js"></script> </body> </html>
とする。なんとなくボタンで確認。
ボタンがbootstrap特有の丸かわいい感じになってれば成功。
RubyonRails HerokuでHelloWorldするまで
前提:
Ruby・Rails・git・herokuツールベルトをインストールしている。
(筆者はCloud9使用。Ubuntu。)
Herokuの会員登録を終えている。
まず適当なアプリを作る。
Cloud9ならすでにあるのでこの工程は要らない。
$ rails new myapp $ cd myapp
Gemfileを下のように書き換える。
(Railsチュートリアルそのまま)
source 'https://rubygems.org' gem 'rails', '5.0.0.1' gem 'puma', '3.4.0' gem 'sass-rails', '5.0.6' gem 'uglifier', '3.0.0' gem 'coffee-rails', '4.2.1' gem 'jquery-rails', '4.1.1' gem 'turbolinks', '5.0.1' gem 'jbuilder', '2.4.1' group :development, :test do gem 'sqlite3', '1.3.11' gem 'byebug', '9.0.0', platform: :mri end group :development do gem 'web-console', '3.1.1' gem 'listen', '3.0.8' gem 'spring', '1.7.2' gem 'spring-watcher-listen', '2.0.0' end group :production do gem 'pg', '0.18.4' end
bundle installする。
$ bundle install --without production
赤文字でエラーが出たら読んでみる。
'bundle update'がどうとか書いてたら
$ bundle update
を叩けばOK。
終わったら改めてbundle installする。
controllers/concerns/application_controller.rbを下のように書き換える。
class ApplicationController < ActionController::Base protect_from_forgery with: :exception def hello render html: "hello, world!" end end
config/routes.rbを下のように書き換える。
Rails.application.routes.draw do root 'application#hello' end
gitの初期設定。
$ git config --global user.name 名前 $ git config --global user.email メールアドレス
heroku設定。
$ heroku login $ heroku keys:add
myapp直下でgit initする。
$ git init
ステージに上げてコミット。
$ git add -A $ git commit -m "hello, world!"
heroku側でアプリ作成。
自動的にgitに紐づくようなのでそのままpush。
$ heroku create $ git push heroku master
ターミナルに出てくるURLにアクセス。
参考:
railstutorial.jp
ORACLE 桁を揃えるLPAD
111
こいつを四桁にしたいとき。
足りない桁は頭に0を入れて保管する。
最初NUMBER型とする。
LPADの書き方は
LPAD('文字列', 桁数 , '補完文字')
桁数は数値型なので''(シングルクオーテーション)はつけない。
NUMBERの111をTO_CHARしてLPADする。
SELECT LPAD(TO_CHAR(111), 4, '0') FROM DUAL
ORACLE NUMBER型の日付を文字列yyyy/MM/dd表記で表示する
20110401
NUMBER型のこいつを書式を整えて表示する方法。
まず、TO_DATEしたいのだけど、TO_DATEの書き方は
TO_DATE('文字列', '書式')
なので、NUMBER型の20170401をまずTO_CHARする。
TO_CHAR(20170401)
それからTO_DATEをかける。
TO_DATE(TO_CHAR(20110401), 'yyyyMMdd')
TO_CHARの日付書式変換の書き方は
TO_CHAR('文字列', '書式')
で、こうなる。
TO_CHAR(TO_DATE(TO_CHAR(20110401), 'yyyyMMdd'), 'yyyy/MM/dd')
テキトーにテスト表示したければ、
SELECT TO_CHAR(TO_DATE(TO_CHAR(20170401), 'yyyyMMdd'), yyyy/MM/dd) FROM DUAL
A server is already running と出て rails server できないとき
$ rails s => Booting Puma => Rails 5.0.0.1 application starting in development on http://localhost:8080 => Run `rails server -h` for more startup options A server is already running. Check /home/ubuntu/workspace/sample_app/tmp/pids/server.pid. Exiting
こんなん出た。
よく読むとなんか書いてる。
A server is already running. Check /home/ubuntu/workspace/sample_app/tmp/pids/server.pid.
言われた通り server.pid をチェックする。
というか消す。
pids まで行って、
$ sudo rm server.pid
これで rails s したら無事動いた。
Docker 自分的最低限コマンドメモ
拙くてもとりあえず作って捨てられる開発環境があれば良しの精神。
$ sudo docker pull centos:7 $ sudo docker images
centOS7のDockerイメージを取得。
及び取得したDockerイメージの確認。
$ sudo docker ps $ sudo docker ps -a
コンテナ一覧。
-a付けると動作終了したコンテナも見れる。
$ sudo docker run -it --name myCentOS centos:7 /bin/bash $ sudo docker run -d -i --name myCentOS -p 3000:3000 -t centos:7 /bin/bash
コンテナの作成(名前つけて作成もしてるよね?これ)・起動して中に入る。
そしてポートフォワーディングの場合(まだ試してない)。
$ exit
コンテナから出る。コンテナは終了する。
$ sudo docker start myCentOS
名前かIDを指定してコンテナを再開。
$ sudo docker attach myCentOS
再開したコンテナに入る。
$ sudo docker rm myCentOS
コンテナの破棄。