ruby
select_dateでは受け取るパラメータを変更したい場合は、nameを変更する必要があります。 今回はgsubを使ってゴリゴリ置換で解決します(他にもっといい方法があるかもしれない)。 通常パターン select_date(Date.new) <select name="date_year" id="date[year]"> <select name="date_month" id="date[month]"> <select name="date_day" id="date[day]"> gsubを使って修正するパターン dat</select></select></select>…
Kaminariでページングを行う際、他のパラメータも追加したい場合はparamsオプションにハッシュを渡してあげればOKです。 基本的に現在のページのパラメータを引き継ぎたいことが多いのでこんな感じ。 <%= link_to_next_page @objects, "次ページへ", params:…
iOSのバージョンによってサーバ側で処理を分けたい場合、ユーザエージェントからバージョンを検出して対応します。 def check_ios_version # ユーザエージェントを取得 ua = request.env['HTTP_USER_AGENT'] ua =~ /iPhone OS (\d+)[\.|_]+(\d+)/ if $1 && $…
動作環境 $ cat /etc/`ls /etc -F | grep "release$\|version$"` CentOS release 6.4 (Final) $ rails -v Rails 4.0.0 $ ruby -v ruby 1.9.3p448 (2013-06-27 revision 41675) [x86_64-linux] 事象 rails consoleコマンドを打つと以下のようなエラーが出まし…
EC2にてRailsアプリケーションを作成し、ページを表示させるまでをまとめます。 EC2のインスタンス作成についてはこちらが参考になります。 Rubyのインストール確認 # ruby -v ruby 1.8.7 (2012-10-12 patchlevel 371) [x86_64-linux] rubyはデフォルトで入…
例えば、destroy!メソッドってあったっけ?みたいな場合など、 rubyでメソッド一覧を調べたいときにはmethodsメソッドを使います。 sortやgrepと組み合わせるとなお良しです。 使用出来るメソッド一覧を表示する @bbs = Bbs.new pp @bbs.methods -----------…
rubyでは+の位置によって挙動が変わるので注意が必要です。 str = "hoge" + "fuga" を改行する場合、 str = "hoge" + "fuga" # エラー:undefined method `+@’ for ” “:String これではエラ−となってしまいます。 +を文末に移動させて、 str = "hoge" + "fug…
「`join’: incompatible character encodings: ASCII-8BIT and UTF-8 (Encoding::CompatibilityError)」を解決する
コマンドライン引数で日本語を渡して文字列処理をしようとしたら 「内部と外部エンコーディングが異なるからjoinできないよ」と言われました。 $ ruby test.rb "てすとだよ" test.rb:39:in `join': incompatible character encodings: ASCII-8BIT and UTF-8 …