Tbpgr Blog

Employee Experience Engineer tbpgr(てぃーびー) のブログ

2013-07-01から1ヶ月間の記事一覧

Rails4 | Rails4非推奨の警告への対応 独自定義フィルタ#filter、link_to_function Viewヘルパーを最新化する

概要 Rails4非推奨の警告への対応 内容 独自定義フィルタのfilterメソッド クラスマクロのbefore_filterがbefore_actionになったことは別途記事にしましたが、 http://d.hatena.ne.jp/tbpg/20130725/1374760826 独自定義フィルタ#filterを個別のクラスとして…

Capybara | Rails、RSpec、Capybara, Kickstart, Poltergeist, phantomjsでJavaScriptのテスト環境設定

概要 Rails、RSpec、Capybara, Kickstart, Poltergeist, phantomjsでJavaScriptのテスト環境設定 内容 kickstart設定 kickstart.cssのimportをコメントコメントアウトして無効化。 /*--------------------------------- IMPORTS ---------------------------…

Ruby on Rails | モデルの各種項目の多言語対応

概要 モデルの各種項目の多言語対応 内容 モデルの各種項目の多言語対応をします。モデルの多言語対応時は辞書に activemodel: models: :model_name text attributes: model_name: attribute_name: text activerecord: models: :model_name text attributes:…

Ruby on Rails | リンク押下時に確認ダイアログを表示する

概要 リンク押下時に確認ダイアログを表示する 内容 リンク押下時に確認ダイアログを表示します。 link_toに:confirmオプションを指定することで確認ダイアログを利用可能です。 実装 ユーザー一覧画面の削除ボタンに確認ダイアログを追加する。 = link_to "…

Ruby on Rails | 値が変更されていないことを検証するValidatorを実装し、更新時のみ適用する

概要 値が変更されていないことを検証するValidatorを実装し、更新時のみ適用する 内容 値が変更されていないことを検証するValidatorを実装し、更新時のみ適用します。 実装 Validator lib/validator/not_changed_validator.rb class NotChangedValidator <…

Capybara | 検証対象のScopeを指定

概要 検証対象のScopeを指定 内容 検証対象のScopeを指定します。 例えばh1タグの中にある文字列を取得する場合 within("h1") do puts page.text end のようにします。 参照 https://github.com/jnicklas/capybara

Ruby on Rails | アイコン付きボタン風リンクの作成

概要 アイコン付きボタン風リンクの作成 内容 アイコン付きボタン風リンクを作成します。 kickstartやBootstrapなどのCSS素材を利用する際にRailsのサブミットボタン用のヘルパーメソッドでは アイコンを表示できないため迂回する手段が必要です。 (やり方…

Ruby on Rails | Font-Awesomeを追加してアイコンを利用する

概要 Font-Awesomeを追加してアイコンを利用する 内容 Font-Awesomeを追加してアイコンを利用します。 実装 Gemfile gem "font-awesome-rails", "~> 3.2.1.2" Bundler実行 bundle application.cssに下記を追記 *= require font-awesome ※springを利用してい…

Ruby on Rails | 自ページの場合はリンクを無効化する

概要 自ページの場合はリンクを無効化する 内容 自ページの場合はリンクを無効化します link_to_unless_current(リンク文字列, url [, オプション, HTMLオプション]) サンプル -if @menu_display = link_to_unless_current '新規登録', :controller => 'user…

Ruby on Rails | 特定の条件に一致もしくは不一致の場合のみリンクを作成する

概要 特定の条件に一致もしくは不一致の場合のみリンクを作成する 内容 特定の条件に一致もしくは不一致の場合のみリンクを作成します。 link_to_if(条件式, 文字列, url [, オプション, HTMLオプション]) link_to_unless(条件式, 文字列, url [, オプション…

Ruby on Rails | Modelの全列名を取得する

概要 Modelの全列名を取得する 内容 Modelの全列名を取得します サンプル User.attribute_names 出力 ※railsコンソールで確認 $ bundle exec rails c Loading development environment (Rails 4.0.0) [1] pry(main)> User.attribute_names => ["id", "name",…

Ruby on Rails | debugメソッドでyaml整形して変数を確認

概要 debugメソッドでyaml整形して変数を確認 内容 debugメソッドでyaml整形して変数を確認します。 サンプル %p = debug Book.first 画像

Ruby on Rails | 特定の条件に一致する場合にスタイルを指定する

概要 特定の条件に一致する場合にスタイルを指定する 内容 特定の条件に一致する場合にスタイルを指定します。 サンプル helper module UserHelper def deleted_class(deleted_at) "deleted" if deleted_at end end view - provide(:title, "ユーザー一覧") …

Ruby on Rails | Railsのdevelopment時のみ出力されるデバッグログ空行2行を無効化

概要 Railsのdevelopment時のみ出力されるデバッグログ空行2行を無効化 内容 Railsのdevelopment時のみ出力されるデバッグログ空行2行を無効化します。 該当箇所のソースコードはGitHubの下記参照。 https://github.com/rails/rails/blob/ffa9540fd361eb34c4…

ログ管理 | LTSV | LTSVの簡易パーサーを作成してみた(高速化版)

概要 LTSVの簡易パーサーを作成してみた(高速化版) 詳細 下記の記事で作成したパーサーは低速だったため、高速化しました。 ログ管理 | LTSV | LTSVの簡易パーサーを作成してみた(高速化版) http://d.hatena.ne.jp/tbpg/20130714/1373819084根本的な作りを変…

フォント | プログラマー向けフォント RictyをUbuntu環境でインストールしてSublime Text2に設定する

概要 プログラマー向けフォント RictyをUbuntu環境してSublime Text2に設定する 内容 プログラマー向けフォント RictyをUbuntu環境してSublime Text2に設定します 設定 sudo apt-get install fontforge wget http://levien.com/type/myfonts/Inconsolata.otf…

Ruby on Rails | コントローラ、アクションの名前及びパスの取得

概要 コントローラ、アクションの名前及びパスの取得 内容 コントローラ、アクションの名前及びパスを取得します。 サンプル app/controller/hoge_controller.rb class HogeController < ApplicationController skip_before_filter :authorize def index @ti…

Ruby on Rails | Railsで自動生成しているコードのテンプレートを変更する

概要 Railsで自動生成しているコードのテンプレートを変更する 内容 Railsで自動生成しているコードのテンプレートを変更します。 まず以下のコマンドでテンプレートを出力出来ます。 rake rails:templates:copy デフォルトのControllerテンプレート lib/tem…

Ruby on Rails | 複数のコントローラーで利用する共有フィルタを作成する

概要 複数のコントローラーで利用する共有フィルタを作成する 内容 複数のコントローラーで利用する共有フィルタを作成します。 任意のフィルタ用クラスを実装し、 before,after,filterのどれかのメソッドを実装します。 それぞれ before_action,after_actio…

Ruby on Rails | Rails標準のコントローラーのパラメータログを無効化する

概要 Rails標準のコントローラーのパラメータログを無効化する 内容 Rails標準のコントローラーのパラメータログを無効化します。 独自定義のものに差し替えるため自分でapplication_controller.rbに定義します。 無効化設定 config/environment.rb module A…

Ruby on Rails | assetsのログを無効化

概要 assetsのログを無効化 内容 assetsのログを無効化します。 設定 Gemfile gem "quiet_assets", "~> 1.0.2" 設定前 ※独自フォーマットでLTSV化してます time:[2013/07/26 23:00:03.921] level:[INFO] msg:[Started GET "/assets/application.js?body=1" f…

Ruby on Rails | I18nで国際化対応

概要 国際化対応 内容 I18nを利用して国際化対応します。 ja.yml 日本語辞書ファイル ja: user: login: ログイン password: パスワード en.yml 英語辞書ファイル en: user: login: login password: password View %p = t('user.login') %p = t('user.passwor…

ログ管理 | Ruby on Rails | Railsのログをカスタマイズする

概要 Railsのログをカスタマイズする 内容 Railsのログをカスタマイズします LTSVに変更 ※別途記事参照 Railsのコントローラーログの無効化 ※下記記事参照 ログ管理 | LTSV | Ruby on RailsのログをLTSV形式に変更Comments http://d.hatena.ne.jp/tbpg/20130…

Ruby on Rails | Rails4 | before_filterからbefore_actionへの変更

概要 Rails4 before_filterからbefore_actionへの変更 内容 Rails4からbefore_filterなどの命名がbefore_actionへの変更になりました。 サンプル controller/application_controller.rb class ApplicationController < ActionController::Base protect_from_…

Sublime Text2 | MarkDown preview Plugin

概要 MarkDown preview Plugin 内容 MarkDown preview PluginでMarkDownの作成時にプレビューできるようにします。 設定 ・Ctrl+Shift+P=>install=>enter=>MarkDown preview ・キーバインドの設定を追加 { "keys": ["alt+m"], "command": "markdown_preview"…

ログ管理 | LTSV | Ruby on RailsのログをLTSV形式に変更

概要 Ruby on RailsのログをLTSV形式に変更 詳細 Ruby on RailsのログをLTSV形式に変更します。 サンプル ロガーをオープンクラスで拡張してinitializersに保存します。 /config/initializers/logger.rb class Logger def format_message(level, time, progn…

Ruby | Kramdownを利用してマークダウンからHTMLの生成

概要 Kramdownを利用してマークダウンからHTMLの生成 内容 Kramdownを利用してマークダウンからHTMLの生成します。 今回はMarkdownからHTMLを生成しますが、 HTML => Markdown Markdown => Latex なども可能です。 ※Latexが出せるということは、そこから別途…

Ruby on Rails | オープンクラスで既存ライブラリを拡張し、config/initializerに配置する

概要 オープンクラスで既存ライブラリを拡張し、config/initializerに配置する 内容 オープンクラスで既存ライブラリを拡張し、config/initializerに配置することで、 起動後に各処理から利用可能にします。 サンプル Timeクラスを拡張してミリ秒単位の時間…

Capybara | Capybaraで実行中のサーバーのポート番号を取得する

概要 Capybaraで実行中のサーバーのポート番号を取得する 内容 Capybaraで実行中のサーバーのポート番号を取得する方法について。 ポート番号に依存したテストを行う際など、実行中のポート番号を取得したい場合は Capybara.current_session.server.port で…

Ruby on Rails | around_filterでController#actionの前後に処理を追加

概要 around_filterでController#actionの前後に処理を追加 内容 around_filterでController#actionの前後に処理を追加します。 サンプル 処理の開始終了にログ表示を追加してみます。 開始時間、開始パラメータ、終了時間を出力してみます。 コード applica…