Ruby on Rails

gemアップデート

$ bundle updategem 指定 $ bundle update --source therubyracer

Ansible

インストール Amazon Linux $ sudo yum install ansible --enablerepo=epel ログ \-vvvv Failed to connect to the host via ssh.

Rubocop

Gemfile group :development do↲ gem 'rubocop', require: false↲ end 警告をTODOとしてYAMLファイルに出力する $ bundle exec rubocop --auto-gen-config .rubocop.yml inherit_from: '.rubocop_todo.yml' コード自動修正 $ bundle exec rubocop --auto-cor…

マイグレーション

http://railsdoc.com/references/rake%20db:migrate 実行 $ bundle exec rake db:migrate バージョン指定 $ bundle exec rake db:migrate VERSION=201010190000 環境指定 $ bundle exec rake db:migrate RAILS_ENV=test 現在のバージョン確認 $ bundle exec …

CarrierWaveのファイル名変換(original_filename)の挙動

ファイルアップロード機構にCarrierWaveを利用しています。 アップロードしたファイル名は、 self.file_column.file.original_filename のように取得出来ますが、デフォルトでは日本語を利用出来ません。 ファイル名に日本語を利用する場合、 ./config/initi…

AASMからRadioボタンを描画する

モデルのAASMはこう。 aasm column: "approving_state" do state :applied state :tested state :rejected state :approved, initial: true event :apply, after: :send_apply do transitions from: [:tested, :rejected, :approved], to: :applied end even…

コンソール

$ rails console -e development $ rails console -e development --sandbox $ Rails.env コンソールリロード pry(main)> reload! routes確認 pry(main)> show-routes スキーマ確認 pry(main)> show-models SQLを非表示 pry(main)> ActiveRecord::Base.logge…

CarrierWave

ImageMagickインストール $ sudo yum install ImageMagick $ sudo yum install ImageMagick-devel Gem gem "carrierhave" gem "rmagick" アップロードクラス作成 $ rails g uploader Image モデル mount_uploader :image, ImageUploader gitignore public/up…

modelまとめ

http://ruby-rails.hatenadiary.com/entry/20140810/1407634200 $ rails g model modelname name:type name:type $ rake db:migrate 型 binary boolean date datetime decimal float integer primary_key string text time timestamp カラム追加 $ rails gen…

production環境 no capistrano

EC2 セットアップ RDS セットアップ RVM development環境に合わせてセットアップ http://d.hatena.ne.jp/macperl/20140929 Railsインストール インストール nginx インストール設定編集 /etc/etc/nginx/nginx.conf起動 $ sudo /etc/init.d/nginx restart サ…

production環境 未完

環境 Rails4 Capistrano3 Unicorn Nginx EC2 RDS GitHub http://genestream.hatenablog.com/entry/2014/12/17/212508 真似ます。 EC2 セットアップ。 自動バックアップまでセット。rootパスワード設定。 $ sudo yum update $ sudo yum install -y gcc-c++ pa…

Gemメモ

bootstrapを使う Gem gem 'therubyracer', platforms: :ruby gem 'less-rails' gem 'twitter-bootstrap3-rails' 反映 $ bundle install $ rails g bootstrap:install i18n_generators 日本語化サポートGem。 $ vi Gemfile gem 'i18n_generators' $ bundle in…

Helper

app/helpers以下に配置。 application_helper.rbは全体共通。 例 app/helpers/how_price.rb module HowPriceHelper def how_price() #process end end viewにて、how_price()が利用可能になる。色々なヘルパースクリプトがネットに落ちてるっぽい。

ActionMailer

smtpサーバの設定 config/environments/development.rb config.action_mailer.delivery_method = :smtp config.action_mailer.smtp_settings = { :address => 'smtp.server', :port => 587, :domain => 'domain', :user_name => 'メールアドレス', :password…

コマンドいろいろ

rake -T 利用可能コマンド一覧表示 rake routes ルーティングの確認 rails console コンソール起動 http://kzy52.com/entry/2014/11/28/235958 rails dbconsole rails db。 コンソールでのdb操作。 rails server サーバ起動。エイリアス s ポート指定 rails …

SES

smtpサーバー。 リージョンが日本に対応していないようだ。 SMTP credentials smtp認証に使うユーザー、パスワードを作成。 Suppression List ハードバウンスしたアドレスが蓄積されるリスト、ここにあるアドレスはses外への送信を行わない。ses全体で共有さ…

RSpec

プロジェクト作成 $ rails new app --skip-test-unit --database=mysql skip-test-unitは、Test::Unitフレームワークと関連しているtestディレクトリを作成しないようにするオプション。 Gemfile編集 # node.jsの方がいけてるっぽい gem 'therubyracer', pla…

初歩

アプリケーションの作成 $ rails new appname オプション d, --database=mysql DB設定 /config/database.yml Gemfile アプリケーションで利用するgemを定義する。 $ bundle update $ bundle installエラー。 Could not find a JavaScript runtime.Gemfile修…

インストール

RVMインストール rubyバージョン管理ソフト。 インストール。 $ \curl -sSL https://get.rvm.io | bash -s stablegpg: 署名を検査できません: 公開鍵がありません 上記エラーが出る場合、 $ gpg2 --keyserver hkp://keys.gnupg.net --recv-keys D39DC0E3 htt…

ディレクトリ構成

application … アプリケーションのルートディレクトリ app … MVCに関わるアプリケーションの中心的なコード controllers … コントローラークラス helpers … ヘルパーモジュール(ビュー用のヘルパーメソッド) mailers … メール用のコントローラー models … …