日常

ケ・セラ・セラ

Rails5 で alias_method_chain が deprecated

Rails 5 deprecates alias_method_chain in favor of module prepend | BigBinary Blog 短くまとめてみる試み。 rails5 で alias_method_chain が deprecated となる。Module#prepend を使っていくことになる。 また、ruby 2.1 で Module#include と Module#…

form submit ボタンにリンクっぽくfont awesomeを使う

css

メモです。 例えばこんな、fontawesome のハートマークをクリックしたら submit して likes/create or likes/destroy したいような状況ですが、 <%= form_for(current_user.likes.build, html: { class: "form-inline" }) do |f| %> <div><%= hidden_field_tag :a</div>…

HerokuでRubyのバージョンを指定する

heroku に deploy したアプリがこけていて、なんだ?と思ったらぼっちオペレーターを使ったからだった。そういえば ruby のバージョン指定を忘れて 2.2.4 が使われていた。 やり方は、Gemfile に書けばよい。 source "https://rubygems.org" ruby "2.3.1" # …

SQLServer の default port は 1433

TCP port 1433 is the default port for SQL Server. メモです。1433 らしい。以下の説明を読んだ。 Default SQL Server Port - Stack Overflow

bundle install(with native extensions)に失敗する(Text file busy)

bundle install をすると、ことごとく with native extensions な gem が失敗するという状況に陥って困っていた。 こんなエラーメッセージが出ていて、 Text file busy @ unlink_internal - ./siteconf20160808-20166-29ij1u.rb 自分は virtual box の share…

最近の rails3.2 のはなし

ruby 2.3 から加わった Hash#to_proc がある。 この影響で、rails 3-2-stable ではこのような修正が merge された。これを含む 3.2系のリリースはまだされていない。 Associations do not call .to_proc on Hash #25043 4-2-stable にも master にもこのよう…

ruby 2つのファイルを一行ずつ交互にマージしたい

ひとつめのファイル samplefile1 1 2 3 4 5 6 7 8 9 ふたつめのファイル samplefile2 one two three four five six seven eight nine ten eleven とあった時に、こんな結果がほしい。という時。 1 one 2 two 3 three 4 four 5 five 6 six 7 seven 8 eight 9 …

YAMLファイルに別のYAMLファイルの値を参照、設定したい

こういうことがしたかったのですが、 # a.yml id: 1 type: foo description: baz # b.yml id: 2 type: bar description: (ここで a.yml の description の値を参照したい) こんな風にしました。 YAML.add_domain_type(nil, "include") do |type, val| YAML.l…

css 新旧 clearfix の書き方に関するメモ

css

最近は css も色々書いている。というか、渋々色々やっているという面があるのだけど、それは置いておいて。 昔からある css のメンテなどをすることになると、歴史上の色々な書き方に遭遇することもある。その中で clearfix についてメモしておく。まあ知っ…

Emoji に対応してみた

某サービスで Emoji を扱えるようにしてみた。 gemoji を使った。README を見ると大体やりたいことが出来た。 github.com

rails ActiveSupport 便利な String の活用形のメモ

[8] pry(main)> (:user_follows).to_s.singularize => "user_follow" [9] pry(main)> (:user_follows).to_s.pluralize => "user_follows" [10] pry(main)> (:user_follows).to_s.camelize => "UserFollows" [11] pry(main)> (:user_follows).to_s.classify =…

rails gravatar-ultimate を使う

email, password を入力してもらってユーザ登録できるやつで、 アイコンなど画像ファイルを自分のところで取り扱いたくない。 というケースで gravatar に頼る流れがあります。 https://github.com/sinisterchipmunk/gravatar 実装を見ると、サイズが指定で…

rails limitではなくtakeの使いどころ

limit 使えばいいし、take 使いどころ無いのでは?と思っていました。 先頭 1 件だけほしい時、Model.first すると、order by id ASC LIMIT 1 となります。 Model.limit(1) の場合、order by id しません。 Model.take も同様です。こういう時、take を使う…

input要素のpattern属性に関するメモ

pattern 属性。自分の場合頻繁に使うわけではないので、使うか。と思った時にもう忘れていて結局毎回調べたりして作業が止まるのが煩わしい。 どうせ次も調べるのだろうけど、この辺りを見れば手間も軽減する。ありがたい。 HTML5におけるinput要素のpattern…

地味に便利だと思って使っているシェルalias

sh

これなんですが、(一部から頭悪そうとか聞こえてくる) alias ..='cd ..' alias ...='cd ../..' alias ....='cd ../../..' alias .....='cd ../../../..' alias ......='cd ../../../../..' alias .......='cd ../../../../../..' pwd するとたまに深かったり…

vim 雑に全角文字だけ検索する

vim

/[^\x01-\x7E] のようにする。 ここを見た。 正規表現サンプル(全角文字を検索する)

rails + npm で heroku デプロイするとき

rails アプリを git push heroku master したら npm install もやってほしくて、こうしておいたらうまくいっている。 heroku buildpacks:set heroku/nodejs

Railsでnpmを使う今の所のやり方

自分の場合こうやっていますというものです。 Rails.root に普通に package.json を置き、普通に npm install する .gitignore で /node_modules などしておく application.js はどうしているかというと、 特に問題無ければ require_tree . で全部対象にすれ…

ruby 1行で rescue

最初の行、そうかー rescue でこういう if 文が書けるのかー。と思った。 if (ActionDispatch::Integration::Session.instance_method(:process_with_kwargs) rescue false) let(:send_request) do send http_method, path, params: request_body, headers: …

rails layout に対して個別に値を設定したい時

例えばこう、共通のレイアウトを適用したいけれど、タイトルだけは個々のものを使いたい。みたいな事例です。 # sample_layout.html.erb <html> <head> <title><%= yield(:title) %></title> </head> <body> <%= yield %> </body> </html> 個々の view で provide しました。 <%= provide(:title, @article.title) %…

rails layout を デフォルト(application.html.erb)から変更したい時

こんな風に使い分けることができる class ArticlesController < ApplicationController def without_layout render layout: false end def presentation render layout: "presentation" end end 某サービスにスライド機能つけようとしています

rails 単純なファイルダウンロード

pathto/down へのリクエストで、Rails.root/download/down.md を d.md というファイル名でダウンロードする適当なサンプル。 適当な Rails.root/pathto/down/down.md を事前に用意して、以下の感じです。 # config/routes.rb get "pathto/down" => "pathto#d…

heroku にデプロイするまでの準備

久々に heroku にデプロイするまでの環境を作ることになった。せっかくなのでメモしておいた。 いや改めて思うけどこれだけで公開できるとか楽だなあ。 まずは heroku toolbelt を公式サイトから install する。あとは以下の流れで。 heroku login heroku cr…

git 変更ファイル一覧を得る

git

これで取れた git diff --stat --name-only COMMIT_ID_A COMMIT_ID_B

rails 年度はじめ、年度末

こんな感じか today = Date.today beginning_of_fiscal_year Date.new((today << 3).year, 4, 1) end end_of_fiscal_year Date.new((today >> 9).year, 3, 31) end

イニシエのブラウザ判定

こういうコードを目の前にして、 最初何してるんだか分からなかったけれど、 どうやらブラウザの判定をしているらしい。 if(document.all) { // IE4 以上, 9.2 以下? } if(document.layers) { // Netscape4? } if(document.getElementById) { // 最近のブラ…

ruby sort の書き方について考えていた

どう書くのが見易いんだろうなー。という観点で考えていた。 結局、こういう感じだろうか。という着地をした。 lists.sort! do |a, b| (a.date <=> b.date).nonzero? || (b.user_id <=> a.user_id).nonzero? || (a.time <=> b.time) end

Capistrano2 使用時のメモ

これは Capistrano2 の記事です。3 ではありません。ご注意くだしあ まあ、ここにまとまっているんですが、よく使うやつをいくつか。これは自分用メモです。まだ cap2 を使っているプロジェクトだってあるんです。 https://github.com/capistrano/capistrano…

Railsあるある

ふいにやる気出る。 よし、おれはやるぞ! rails new !!! bundle install !!! . . . コーヒーいれる。他のことはじめる . . . なんだっけ? ってなるのがよくあるパターン 別に Rails に限った話じゃないなw

Rails Devise使用時のフレンドリーフォワーディング

ブラウザから直接URL入力してあるページへ行こうとした時、 まだログインしていなければログイン画面を表示させる。というのはよくある処理だと思います。 そしてログイン後には、ログインする前に行きたかったところへ送ってあげるのが親切でしょう。 そう…