[Windows] シンボリックリンク的な機能「ジャンクション」の使い方
- 2012 12/9
Windows7 で Linux のシンボリックリンクに対応するジャンクションという機能の使い方をメモ。
・Windows7(vista)の便利機能シンボリックリンクでデータをDドライブへ逃がす – consbiol のエコ日記
Windows7 で Linux のシンボリックリンクに対応するジャンクションという機能の使い方をメモ。
・Windows7(vista)の便利機能シンボリックリンクでデータをDドライブへ逃がす – consbiol のエコ日記
JavaScript や jQuery を使って、スクロールしたときにサイドバーのパーツを止める方法が紹介されている記事をメモ。
RSpec の stub(スタブ)と mock(モック)の違いについて調べたので、参考になったサイトをメモ。
とりあえず、以上です。
Ruby on Rails にて、Devise の current_user メソッドをオーバーライドする方法をメモ。
常にユーザの権限(Role)もまとめて取得する場合は、こんな感じに書く。
# app/controllers/application_controller.rb class ApplicationController < ActionController::Base alias_method :devise_current_user, :current_user def current_user if devise_current_user.nil? nil else User.find_by_id(devise_current_user.id, include: :role) end end end |
【参考】ruby on rails 3 – Where to override current_user helper method of devise gem – Stack Overflow
Ruby on Rails のプロジェクトにて、rake タスクに FactoryGirl 経由で Devise の user を作成したら、エラー出て死んだ。
■ エラーメッセージ
Could not find a valid mapping for #<User |
そして、rake も rails s も rails c も何もできなくなった。
とりあえず、rvm 使っていたので、gemset を作り直すことで rake や rails s などは実行できるようになった。
しかし、User登録については、まだ解決できてない。ダレカタスケテ
【参考】
・Reloading Factory Girl Factories in the Rails 3 Console | Transcending Frontiers
・devise – “Could not find a valid mapping for #
Ruby on Rails のプロジェクトにて rvm の gemset を再作成(delete → create)後に bundle install して gem をインストールしてから rails s したら abort した問題を解決した話をご紹介します。
Ruby on Railsにて、
Factory already registered: xxx |
lib/tasks/
require 'factory_girl' Dir[Rails.root.join('spec/factories/*.rb')].each {|f| require f } |
【参考】ruby on rails – Factory already registered: user (FactoryGirl::DuplicateDefinitionError) – Stack Overflow
Ruby でテストデータやサンプルデータを作成するときに「faker」というGemを使うと捗りそう。
・Class: Faker::Internet — Documentation for stympy/faker (master)
・blog.shu-cream.net: Ruby(Rails)で適当なサンプルデータを作るにはfakerかForgery
Ruby on Rails にて、多対多の関連テーブルの作成方法をメモ。
「Rails3レシピブック」の[076]「関連をまたいだ関連を設定する」を参照する。
・Railsの多対多で関連テーブルの操作色々 – Tech<3 by 榊祐介 - s21g
・[Ruby] Rails(ActiveRecord)の多対多関連 – @yuumi3のお仕事日記
Ruby on Rails で seed データの追加や管理をカンタンにしてくれる seed-fu gem が便利なのでご紹介します。
使い方は db/fixtures 以下に users.rb とかいうファイル名で、簡単には下記のような感じで書きます。
db/fixtures/users.rb
User.seed do |s| s.id = 1 s.login = "jon" s.email = "[email protected]" s.name = "Jon" end User.seed do |s| s.id = 2 s.login = "emily" s.email = "[email protected]" s.name = "Emily" end |
全ての seed ファイルからインポートするには、単に
rake db:seed_fu |
を実行すればよいです。
ファイルやモデル別にロードするには、下記のような感じで rake タスクを実行する。
rake db:seed_fu FIXTURE_PATH=path/to/fixtures rake db:seed_fu FILTER=users,articles |
当然だが Ruby コードが書けるので、こんな感じに CSV から DB へインポートみたいなことも書ける。
db/fixtures/users.rb
require 'csv' csv = CSV.read('db/fixtures/users_master.csv') csv.each_with_index do |user, i| # skip a label row next if i === 0 name = user[0] age = user[1].to_i User.seed do |s| s.id = i s.name = name s.age = age end end |
地味に便利ですね。