Rails
Ruby on Rails Guides にフォームビルダーをカスタマイズする方法が載っていたので試してみた。 # lib/labelling_form_builder.rb class LabellingFormBuilder < ActionView::Helpers::FormBuilder def text_field(attribute, options={}) label(attribute) …
<%= time_zone_select(:user, :time_zone, nil, include_blank: true) %>
Started POST "/users" for 127.0.0.1 at 2014-11-28 23:00:59 +0900 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "authenticity_token"=>"B2eI4UTdaJbQ0WOSIdqPrybKJA1iKEdZPQoIXze+anQ=", "user"=>{"email"=>"user1@example.…
$ rails c > y Rails.application.config.assets.paths --- - "/Users/username/workspace/personal/demo/app/assets/images" - "/Users/username/workspace/personal/demo/app/assets/javascripts" - "/Users/username/workspace/personal/demo/app/assets/…
$ rails c > y I18n.load_path --- - "/Users/username/.rbenv/versions/2.1.4/gemsets/demo/gems/activesupport-4.1.8/lib/active_support/locale/en.yml" - "/Users/username/.rbenv/versions/2.1.4/gemsets/demo/gems/activemodel-4.1.8/lib/active_model…
Rails で開発していると必ず使用する rails console 。 便利な機能が色々あるのでまとめてみました。 環境を指定して起動する $ rails console [-e, --environment=name] $ rails console -e test $ rails console --environment=test # デフォルトは develo…
anchor オプションを使用することでアンカーリンクを作成することができる。 <%= link_to 'ユーザーA', user_path(@user, anchor: :profile) %> 以下のようなリンクが生成される。 <a href="/users/1#profile">ユーザーA</a>
今までマイグレーションクラスの命名がプロジェクトによってばらばらだったので命名ルールをまとめてみました。 マイグレーションクラスの命名ルール 種別 クラス名 ケース テーブル作成 CreateUsers usersテーブルを作成する場合 テーブル削除 DropUsers us…
Grape で Web API 開発 - kzy52's blog Grape で Web API 開発 - kzy52's blog 前回は Jbuilder を使いましたが 今回はGrape::Entityというgemを使ってJSONフォーマットを実装していきたいと思います。 ディレクトリ構成とルーティングは以下のようになる予…
Grape は RESTful な API を構築するためのマイクロフレームワークです。 今回は Grape を使って簡単な Web API を作っていきます。 intridea/grape intridea/grape · GitHub [2015/03/07] ファイルの配置を変更しました。変更点は GitHub をご確認ください…
Apache JMeter - Apache JMeter™ Apache JMeter はパフォーマンス計測用のツールです。 Webアプリケーションのテストをするための様々な機能が用意されているので、複雑なテストを行うことができます。 今回はRailsアプリケーションのパフォーマンス計測をし…
cassandra-rb/cassandra cassandra-rb/cassandra · GitHub Railsプロジェクトでcassandra gemを少しだけ使いやすくする。 本当に少しだけ...。 # lib/cassandra_ext.rb class CassandraExt < Cassandra include Singleton def initialize config = YAML.load…
RailsのプロジェクトでMySQLとMongoDBを共存させる方法のメモ。 基本はMySQLと使い一部MongoDBを使うようにする。 プロジェクトを作成する $ rails new sample_app -d mysql Mongoidをインストールする # Gemfile gem "mongoid" $ bundle install Mongoidの…
Authlogic 3.4.2でエラーが発生するようになった。 LoadError (cannot load such file -- scrypt): Authlogic 3.4.0で暗号化方式がSHA512からSCryptに変わったとのこと。 # Gemfile gem 'authlogic' gem 'scrypt' # 追加 $ bundle install でエラーは出なく…
Gemfile内のrailsのversionをあげる # Gemfile gem 'rails', 'x.x.x' Railsのアップデート $ bundle update rails 設定ファイルを最新版にする $ bundle exec rake rails:update
Redmineのバージョンは2.5です。 Ruby, MySQL, Nginxのインストール http://kzy52.com/entry/2013/05/03/022925 Rubyのバージョンは2.0にすること ImageMagickをインストールする $ sudo yum -y install ImageMagick ImageMagick-devel ソースコードを取得す…
staging に限らずデフォルトで用意されている環境(development, production, test) 以外の環境を用意する場合、 設定ファイルを単純にコピーしてもいいのだが、DRYじゃないので diaspora を参考に以下のようにしてみた。 # config/environments/staging.rb r…
Railsはデフォルトだと以下の用に asset pipeline のログが出力されてしまう。 邪魔なので出力させないようにする。 Started GET "/assets/application.css?body=1" for 127.0.0.1 at 2014-01-18 15:19:00 +0900 Started GET "/assets/jquery.ui.core.css?bo…
backup という gem を使いファイルやデータベースのバックアップをとる手順を紹介したいと思います。 https://github.com/meskyanichi/backup https://github.com/meskyanichi/backup/wiki インストールする $ gem install backup $ rbenv rehash $ mkdir ~/…
Rails 側で設定する場合 # app/controllers/application_controller.rb class ApplicationController < ActionController::Base before_action :basic_authentication if Rails.env.production? private def basic_authentication authenticate_or_request_w…
FactoryGirlでCarrierWaveのイメージデータの作成方法についてメモしておく。 テスト用のデータ「spec/support/files/rails.png」 を配置する(場所はどこでもいい) # spec/factories/users.rb FactoryGirl.define do factory :user do sequence(:email) { |n…
Colorboxはモーダルを開いて画像を拡大表示したりすることができるjQueryのPluginです。 今回はColorbox用のgemを使わずに導入してみたいと思います。 1. 以下のページからcolorbox本体をダウンロードしてきます。 http://www.jacklmoore.com/colorbox/ 2. …
いつも通り以下コマンドを実行したら こんなエラーが。 $ cap deploy ... fatal: Could not parse object 'ce37f2ad983e7d43f5b190c620945d0731e59d2f'. ... デプロイ先のサーバーに入って $ cd [デプロイ先のパス]/shared $ rm -rf cached-copy/ で解決。 s…
Font Awesome を使うとWebページ上に簡単にアイコンを表示させることができる。 # Gemfile gem 'font-awesome-rails' $ bundle install # app/assets/application.css /* *= require font-awesome */ ビューで <h1><i class="icon-camera-retro"></i> Camera</h1> とかやるとアイコンが表示される…
導入方法 https://github.com/binarylogic/settingslogic settingslogic で定数を管理しているけど、改行ある時どうするんだっけ?となったので調べてみた。 YAMLについて知らなすぎだね。 改行を含む文字列を表現する # config/application.yml defaults: &…
Authlogicの導入は以下記事を参考にしてください。 【Rails】 Authlogicでユーザー認証機能 gem を追加 # Gemfile gem 'omniauth' gem 'omniauth-twitter' gem 'omniauth-facebook' 認証するには Twitter/Facebook Developers にアプリを登録して認証情報を…
Railsでネストした関連先のテーブルもまとめて保存したい時に使うのが accepts_nested_attributes_forです。すごく便利。 Railsのソースコードを見ながら使い方をまとめてみました。 コンソールから色々試してみる 定義する class User < ActiveRecord::Base…
排他制御には「楽観的ロック」と「悲観的ロック」があります。ユーザーAとユーザーBがいた場合・楽観的ロック ユーザーA、ユーザーB共に編集画面を開くことができるが、ユーザーAが更新した場合ユーザーBの更新は失敗する。・悲観的ロック ユーザーAが編集画…
ユーザーがパスワードを忘れてしまった際にパスワードを再設定できる機能を実装してみます。パスワードリマインダーには色々な実装方法がありますが、 今回は登録されているメールアドレスにパスワード再設定用のURLを送信する方法で実装します。・Authlogic…
admin.jsとadmin.cssをプリコンパイル対象にする。 # config/environments/production.rb config.assets.precompile += %w( admin.js admin.css )$ bundle exec rake assets:precompile RAILS_ENV=productionこれでプリコンパイル対象に入るかと思っていたが…