牌語備忘録 -pygo

あくまでもメモです。なるべくオフィシャルの情報を参照してください。

牌語備忘録 -pygo

Rails

Django で Rails の Foo.select(:title) みたいなフィールドの値だけ取りたい場合のメモ

(django1.6, rails4)なんか忘れるのでメモ Rails の場合 irb(main):002:0> Foo.select(:title) Foo Load (1.3ms) SELECT title FROM "foos" => #<ActiveRecord::Relation [#<Foo id: nil, title: "hoge">, #<Foo id: nil, title: "fuga">]> Django の場合 In [3]: Foo.objects.values_list('title', flat=True) Out[3]: ["hoge", "fuga"] Qu…</foo></activerecord::relation>

Rails4 でお気に入りをオン・オフするトグルボタンみたいのをやってみるメモ

(rails4.1.1, ruby2.1.1) プロジェクト作成とか $ rails new favorite_button_sample -T $ cd favorite_button_sampleボタン表示を分りやすくするのに CDN の bootstrap 使ってみた app/views/layouts/application.html.erb <link href="//maxcdn.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css" rel="stylesheet"> </link>

Rails の Devise と OmniAuth で Twitter or Facebook でログインできるようにする場合のメモ

(rails4.1.0) OmniAuth: Overview · plataformatec/devise Wiki · GitHub intridea/omniauth · GitHub arunagw/omniauth-twitter · GitHub Twitter Developers Facebook Developers Rails4 で Devise と OmniAuth で、Twitter/Facebook のOAuth認証と通常フ…

Rails で bundle install する時に常に vendor/bundle にインストールして、システムにインストールしたgemは使わない場合の設定メモ

.bundle/config BUNDLE_PATH: vendor/bundle BUNDLE_DISABLE_SHARED_GEMS: '1' #<-システムにインストールしたgemは使わない設定 Bundlerを使ったRuby環境構築 | tamo's blog

Ransackで絞り込んだデータをCSVで出力するのにハマりそうだったのでメモ

ruby on rails - Ransack export results to CSV - Stack Overflow #362 Exporting CSV and Excel - RailsCasts products_path(params.merge(format: 'csv')

Rails 4 strong parameters with has_many :through association のメモ

activerecord - How to use Rails 4 strong parameters with has_many :through association? - Stack Overflow ... { :employee_ids => [] } ...

Rancackでチェックボックスを外して検索した場合すべて検索するメモ

Rancackでチェックボックスをチェックして検索するとtrueのみ検索される。 しかし、チェック外して検索するとfalseのみ絞り込みされてる。 チェック外して検索した場合はtrueとfalseすべて検索して欲しい場合もあるのでメモ。 やり方 誤 これだとチェック外…

Rails4 の開発環境を IntelliJ IDEA Ultimate Edition 13 で 整えるメモ

ruby rbenv で ruby 2.0.0p247 いれてた。 ダウンロード IntelliJ IDEA :: Download Latest Version of IntelliJ IDEA プラグイン 1. preferences > plugin > install JetBrian Plugins… 2. ruby で検索 > インストール 設定 Configure > Project Defaults >…

Rails で 「Can't connect to local MySQL server through socket 〜」とかエラー出た場合のメモ

(Rails4, MacOS10.8, MySQL5.5[MacPorts]) config/database.yml の soket のパスを書き換えれば直るけど パスの場所がどこだか忘れがちなのでメモ。 エラー内容 Mysql2::Error (Can't connect to local MySQL server through socket '/opt/local/var/run/mys…

Ruby on Rails API の中の LEFT OUTER JOIN の記述のメモ

Ruby on Rails API ActiveRecord::Associations::ClassMethods Post.includes([:author, :comments]).where(['comments.approved = ?', true])

Rails4 の factory_girl で factory を自動生成するメモ

(rails4.0.2, factory_girl_rails4.3.0) thoughtbot/factory_girl_rails · GitHub Gemfile rspec 入れる前提で : group :test do gem 'rspec-rails' gem 'capybara' gem 'factory_girl_rails' end bundle install factory を自動生成 なぜかrspec いれてるの…

Rails でのテストのリンクメモ

Rspec/Capybara/Turnipの入門記事を全力でまとめてみた - 酒と泪とRubyとRailsと Rubyist Magazine - エンドツーエンドテストの自動化は Cucumber から Turnip へ Everyday Rails Testing with RSpecの翻訳プロジェクトを開始しました! - give IT a try Eve…

ささっと Rails4 + Bootstrap3 + kaminari でゲストブック作成してみるメモ

(Rails4.0, Ruby2.0)昔Railsが流行し始めた頃によくあったようなやつ。何となくやってみた。 (Railsじゃないけどこの辺とかこの辺を何となく参考に) ソースコードは Github にアップしてみた。 https://github.com/CortYuming/rails_guestbook_sample なの…

Rails4 から jbuilder がデフォみたいなので Rails3 で使ってみるメモ

(Rails3.2.13) http://railscasts.com/episodes/320-jbuilder?language=ja&view=asciicast https://github.com/rails/jbuilder 下準備 $ rails new jbuilder_app -T --skip-bundle $ cd jbuilder_app $ bundle install $ rails generate scaffold Book title…

Railsコマンドを高速化するらしいgem『Commands』を使ってみるメモ

(Rails3.2.13)ほかに Spring や Zeus とかありますが、あえて DHH の Commands を使ってみた。 https://github.com/rails/commands http://railscasts.com/episodes/412-fast-rails-commands?language=ja&view=asciicast ちなみに Commands は rails console…

Rails4 rc1 で scaffold したときに 生成される Gemfile, model, controller などのメモ

(Rails4.0rc1) $ rails new app --pre --skip-bundle create create README.rdoc create Rakefile create config.ru create .gitignore create Gemfile create app create app/assets/javascripts/application.js create app/assets/stylesheets/application…

Rails4 の Webブラウザ上でのエラー画面が使ってみたら想定以上にいい感じだったから Rails3 でも better_errors を使ってみることにしたメモ

(Rails3.2.13)エラー画面でコンソール使えるのがとても便利 エラー画面 Rails3.2(デフォルト) Rails3.2 で better_errors を利用した場合 Gemfile (better_errors で irb を利用するに binding_of_caller も必要) group :development do gem 'better_err…

Rails で簡単に検索機能を利用できる『ransack』のメモ

(Rails3.2.13)前にやったMetaSearchのgithubをよく見たら開発が止まっているようで他になにかないかと探してたら発見した。 https://github.com/ernie/ransack MetaSearch の後継らしい。 とりあえずやってみる rails new app -T --skip-bundle : cd app/ Ge…

WEB+DB vol.73 の「Rails4 実践チュートリアル」をやってみるのに Rails4 rc1 と Ruby2.0 をインストールしてみるメモ

(MacOSX10.8, Ruby2.0, Rail4rc1) rbenv と ruby-build を github からインストールしている前提で http://d.hatena.ne.jp/CortYuming/20130429/p2 以下、チュートリアルをする環境を整える $ cd ~/.rbenv/plugins/ruby-build/ $ sudo git pull $ sudo rbenv…

Rails で『ActionView::Template::Error (couldn't find file 'jquery.ui.datepicker'~』とかなってハマった場合のメモ

(rails3.2.13)ちなみに開発環境では問題は無く、 デプロイしたら ActionView::Template::Error になった。 原因 Gemfile の書き方だった jQuery-ui の Date Picker を日本語で使った場合に Gemfile の assets の書き方が原因だった。 デフォで assets グルー…

Rails での Ajax のメモ

(Rails3.2.13) Ruby on Rails 3 の Ajax いろいろ - yuumi3のお仕事日記 上記リンクの2と3を少々書き換えてやってみた。 下準備(2と3共通) $ rails new ajax_app -T --skip-bundle $ cd ajax_app $ rails g scaffold Todo due:date task $ bundle install …

Rails の meta_search で検索機能を利用する場合のメモ

(Rails3.2.13)毎回、検索機能の実装する時、面倒だから便利ないい感じのプラグイン何かないかなと思ってたらあった。知らんかった。 activerecord-hackery/meta_search · GitHub 『meta_search』使ってみる 下準備 $ rails new meta_search_app -T --skip-bu…

Rails の paperclip で画像を扱う場合のメモ

(Rails3.2.13) thoughtbot/paperclip · GitHub paperclip 試してみる ImageMagick をインストールしておく sudo port install ImageMagick 下準備 $ rails new paperclip_app -T --skip-bundle $ cd paperclip_app Gemfile gem "paperclip" $ bundle install…

Rails で Retina ディスプレイ対応する場合のメモ

(Rails3.2.12) retina_tag が良さげな感じ davydotcom/retina_tag · GitHub 使ってみる Gemfile gem 'retina_tag' bundle install app/asstes/javascripts/application.js //= require retina_tag app/asstes/images 普通の画像と高解像度の画像を追加 for e…

Rails で jQuery-ui の Date Picker を日本語で表示する場合のメモ

(Rails3.2.12) Date Picker を英語で表示の手順 #213 Calendars (revised) - RailsCasts Gemfile group :assets do gem 'sass-rails', '~> 3.2.3' gem 'coffee-rails', '~> 3.2.1' # See https://github.com/sstephenson/execjs#readme for more supported r…

Rails で確認ダイアログを Twitter-bootstrap のモーダルウィンドウに合わせる場合のメモ

(Rails3.2.12) bluerail/twitter-bootstrap-rails-confirm · GitHub Bootstrap を利用しているアプリの確認ダイアログを Bootstrap のモーダルウィンドウに置き換えるには - わからん Gemfile gem "therubyracer" gem "less-rails" gem 'twitter-bootstrap-r…

rails console で foo_url とか bar_path を表示したい場合のメモ

(Rails3.2.12) $ rails console irb(main):001:0> app.foo_url => "http://www.example.com/foo" irb(main):002:0> app.bar_path => "/bar"

Rails3でwhereとかした時に日本時間でなくUTCになる場合のメモ

(rails3.2.12) 問題 明日の 00:00:00 より前のdbを取得したい (2013-03-29 00:00:00 を希望) irb> Time.now => 2013-03-28 11:26:42 +0900 irb> User.where('hoge_at < ?', Time.now.tomorrow.beginning_of_day) User Load (0.7ms) SELECT `users`.* FROM …

Rails3 で日付を「ago」と「since」で取得するメモ

(rails3.2.12) irb(main):025:0> 1.day.ago => Wed, 20 Mar 2013 10:13:00 JST +09:00 irb(main):028:0> 7.days.since => Thu, 28 Mar 2013 10:13:22 JST +09:00 irb(main):029:0> 2.weeks.ago => Thu, 07 Mar 2013 10:13:31 JST +09:00 irb(main):030:0> 3.…

Rails3 で今日の「00:00:00」とか「23:59:59」とか取りたい時のメモ

(rails3.2.12) irb(main):021:0> Date.today.midnight => Thu, 21 Mar 2013 00:00:00 JST +09:00 irb(main):022:0> Date.today.end_of_day => Thu, 21 Mar 2013 23:59:59 JST +09:00 irb(main):023:0> Time.now.midnight => 2013-03-21 00:00:00 +0900 irb(m…

Rails3 で URLが『hoge.com/〜』の時に『www.hoge.com/〜』にリダイレクトする場合のメモ

(Rails3.2.12) config/routes.rb Redirect www Subdomain to Your Apex Domain Using the Rails Router | Big Nerd Ranch Blog constraints(host: /^(?!www\.)/i) do match '(*any)' => redirect { |params, request| URI.parse(request.url).tap { |uri| ur…

Rails3 で link_to に『:protocol => 'https://'』とかする場合のメモ

問題 link_to に『:protocol => 'https://'』しても、本番環境でhttpsにならない <%= link_to 'クリック', hoge_path, :protocol => 'https://' %> 解決 『:only_path => false』オプションが無いとprotocolが削除されるらしい Railsのlink_toメソッドでhttp…

Rails3 で一部のページのみhttpsにしたいのに、httpsからhttpに戻らない場合のメモ

(Rails3.2.12) 問題 一度httpsのページを表示すると、他のページ移ってもにhttpに戻らない。 解決策 例:hoges_controller の表示をhttpにリダイレクト app/view/controllers/application_controller.rb def redirect_to_http_from_https redirect_to :only_…

Rails3 のビューでテーブルの題名クリックするとソートするメモ

(Rails3.2.12) プロジェクト作成 rails new sortable_table -T cd new sortable_table rails g scaffold Product name price:decimal released:date rake db:migrate 確認用初期データ投入 db/seeds.rb Product.delete_all Product.create(name: "Katsuo", p…

helper_method のメモ

コントローラのメソッドをビューから(ヘルパーも?)呼びたい時に使う for example #228 Sortable Table Columns - RailsCasts app/controllers/products_controller.rb class ProductsController < ApplicationController helper_method :sort_column, :so…

Rails3 の Devise で Registration の編集後のリダイレクト先を変更するメモ

(Rails3.2.12)ファイル作成して下記のようにするapp/controllers/registrations_controller.rb class RegistrationsController < Devise::RegistrationsController protected def after_update_path_for(resource) hoge_path end end

Rails3 で true, false, nil の混じったブーリアン値を whereで検索するのに若干ハマったのでメモ

問題 ブーリアン値 hoge が ture 以外を検索したい DBの状態 dbにカラム foobar で nil x5、false x1、true、x0。 true以外が計6コ。 User.where(:foobar => nil).count (0.3ms) SELECT COUNT(*) FROM `users` WHERE `users`.`foobar` IS NULL => 5 User.whe…

Rails3 で「DEPRECATION WARNING: Passing the format in the template name is deprecated. Please pass render with :formats => [:html] instead.〜」などとエラー出た場合のメモ

(Rails3.2.12) 原因 Passing the format in the template name is deprecated. Please pass render with :formats =&gt; [:html] instead. - donghai821の日記 render に拡張子つけてるのが原因らしい format.html { render :file => "#{Rails.root}/public/…

Rails3 でサーバ起動させると「Errno::EIO: Input/output error 〜 」とかなる場合のメモ

(Rails3.2.12) 症状 rails s してブラウザで表示しようとすると「Errno::EIO: Input/output error 〜 」とエラーが無限ループになる。 処置 原因不明。 PCを再起動したら直った。 New Rails App dies with Errno::EIO at / - Stack Overflow

Rails3 でモデルの scope の書き方でエラー出たメモ

rake db:migrate:reset したらエラーでた。 bundle exec rake db:migrate:reset rake aborted! Mysql2::Error: Table 'hoge_development.users' doesn't exist: SHOW FULL FIELDS FROM `users` rails_app_path/app/models/user.rb:73:in `<class:User>' :エラー出てる行</class:user>…

Rails3 の whenever で「/usr/bin/env: ruby: No such file or directory」とかなった場合のメモ

(Rails3.2.12) javan/whenever · GitHub 原因 /usr/bin/env ruby で sudo つけるとパス見つけられなくなる。 $ /usr/bin/env ruby -v ruby 1.9.3p385 $ sudo /usr/bin/env ruby -v /usr/bin/env: ruby: No such file or directory rubyインストールしてある…

Rails3 の Devise でユーザ登録完了メールを送信する場合のメモ

(Rails3.2.11, ruby1.9.3) app/models/user.rb class User < ActiveRecord::Base : def confirm! super if confirmed? UserMailer.completion_of_registration(self).deliver end end app/mailers/user_mailer.rb class UserMailer < ActionMailer::Base def…

Rspec でテスト内容を出力するコマンドのメモ

忘れるからメモ rake spec SPEC_OPTS="--format documentation"

Rails3 で コントローラからメールが送信されたか Rspec で確認のメモ

(Rails3.2.11) http://railscasts.com/episodes/275-how-i-test?language=ja&view=asciicast 動作確認用プロジェクト作成 $ rails new test_email_in_rspec -T --skip-bundle $ cd test_email_in_rspec Gemfile group :test, :development do gem 'rspec-rai…

Rails3 で delayed_job を利用して非同期でのメール送信メモ

(Rails3.2.11) collectiveidea/delayed_job · GitHub Installation Gemfile gem 'delayed_job_active_record' shell bundle install rails generate delayed_job:active_record rake db:migrate 確認用メーラー作成 rails g user_mailer send_mail config/en…

Rails3 と whenever でバッチ処理のメモ

(Rails3.2.11) javan/whenever · GitHub Installation Gemfile gem 'whenever', :require => false bundle install Getting started $ bundle exec wheneverize . [add] writing `./config/schedule.rb' [done] wheneverized! Example User rails g scaffold…

Railsレシピ087『rails consoleでモデルを操作する』の記事の中の「yメソッド」が効かない件のメモ

(ruby1.9.3, rails3.2.11) Case irb(main):001:0> y User.first.attributes User Load (0.3ms) SELECT `users`.* FROM `users` LIMIT 1 NoMethodError: undefined method `y' for main:Object Answer Rails console 'y' helper returns NameError rather tha…

rhtml-mode で form_for のあたりでインデントがうまくできない場合のメモ

rhtml-mode,rinari-mode を使用 (Emacs24.2) Case rhtml-mode で form-for を使うとインデントが効かなくなった <%= form_for @user, :html => { :class => "form-horizontal" } do |f| %> <%= f.name %> <% end %> Answer form_for でカッコ省略を省略しな…

Rails3のバリデーションでユニークにしたいけどnilのときは無視して欲しい場合のメモ

validates :hoge, :uniqueness => true, :allow_nil => true

Railsのフォームでチェック入れないとバリデーション通らないようにしたい場合のメモ

(Rails2.3.11) Case フォームで利用規約に同意のチェックボックスとかしたい Answer テーブルにカラム追加とかしない。 モデルとビューに書くだけ。 model validates :agreement, :acceptance =>true view <%= f.check_box :agreement %> 参考サイト フォト5…