Rails

【Rails】 DBに楽観的ロックをかける

排他制御には「楽観的ロック」と「悲観的ロック」があります。ユーザーAとユーザーBがいた場合・楽観的ロック ユーザーA、ユーザーB共に編集画面を開くことができるが、ユーザーAが更新した場合ユーザーBの更新は失敗する。・悲観的ロック ユーザーAが編集画…

【Rails】 Authlogicでパスワードリマインダーを実装する

ユーザーがパスワードを忘れてしまった際にパスワードを再設定できる機能を実装してみます。パスワードリマインダーには色々な実装方法がありますが、 今回は登録されているメールアドレスにパスワード再設定用のURLを送信する方法で実装します。・Authlogic…

【Rails】 application.jsやapplication.css以外のファイルをプリコンパイル対象に設定したい場合

admin.jsとadmin.cssをプリコンパイル対象にする。 # config/environments/production.rb config.assets.precompile += %w( admin.js admin.css )$ bundle exec rake assets:precompile RAILS_ENV=productionこれでプリコンパイル対象に入るかと思っていたが…

【Rails】 state_machineを使って状態を管理する

https://github.com/pluginaweek/state_machine今回はstate_machineを使ってUserモデルに状態を管理する機能を追加します。 インストールする # Gemfile gem 'state_machine' $ bundle install 使い方 # app/models/user.rb class User < ActiveRecord::Base…

Mac + Rails 環境構築メモ

Ruby のインストール ・rbenv, ruby-build, rbenv-gemset をインストールする $ brew install rbenv ruby-build rbenv-gemset・openssl, readline をインストールする $ brew install openssl $ brew install readline・パスを通すzsh の場合 # ~/.zshenv ex…

【Rails】 Authlogicでユーザー認証機能

ユーザー登録機能を作成する ・モデルを作成する $ rails g model User・マイグレーションファイルを修正する # db/migrate/20130125121017_create_users.rb class CreateUsers < ActiveRecord::Migration def change create_table :users do |t| t.string :…