イメージ画像

最新情報

2015年2月15日Ruby
#find_by! で404エラー
2015年2月4日Ruby
Rubyでランダム文字列生成
2015年1月1日Ruby
rbenv2.2.0でのpassengerエラー解決
2014年11月7日その他
VPSでVPN
2014年10月5日その他
activeadminのCSVダウンロードをShift_JISに変更する

このエントリーを含むはてなブックマーク Buzzurlにブックマーク livedoorクリップ Yahoo!ブックマークに登録

#find_by! で404エラー

Railsが返すエラー時のHTTPステータスコードをあまり考えていませんでした。

@product = Product.find(params[:id])

のような場合、存在しないidでは ActiveRecord::RecordNotFound となりますが、その場合のHTTPステータスは500ではなく、404でした。

確かに、http://example.com/products/999 という商品を参照して、id=999の商品がなければ404を返すのが適切です。

 

Productへの参照をidでなく、nameとした場合

@product = Product.find_by!(name: params[:id])

とすれば、http://example.com/products/bravia_kdl-40w600b で該当の商品がなければ404が返ります。

タグ

2015年2月15日 | コメント/トラックバック(0) |

カテゴリー:Ruby

Rubyでランダム文字列生成

パスワード作成用にランダム文字列を生成。

4.2.0@2.2.0 (main)> SecureRandom.base64
=> “res3y4/HFSMye+sNRuihjQ==”

パスワード作成などに使えます。

railsコンソールではrequireは必要ありませんでした。

タグ

2015年2月4日 | コメント/トラックバック(0) |

カテゴリー:Ruby

rbenv2.2.0でのpassengerエラー解決

ruby2.2.0がリリースされました。

https://www.ruby-lang.org/ja/news/2014/12/25/ruby-2-2-0-released/

ところが、passenger4.0.56 がエラーで起動しません。

rbenv2.2.0を以下のようにインストールして、passengerを再インストールすることで解決しました。

参考 : https://github.com/phusion/passenger/issues/1314#issuecomment-68153331

タグ

2015年1月1日 | コメント/トラックバック(0) |

カテゴリー:Ruby

VPSでVPN

VPSにVPN(L2TP)サーバを構築しました。

PPTP方式のものはスマートにインストールできましたが、セッションが途中で切れてしまいます。

http://www.manabii.info/2012/08/debian-gnu-linux-l2tp-ipsec-vpn-nat.html を参考にインストールしましたが、syslogに

pppd[31619]: but I couldn’t find any suitable secret (password) for it to use to do so.

のようなエラーが出て認証が通りません。

最終的に /etc/ppp/chap-secrets

username * “password” *

サーバ名をワイルドカードにすることで解決しました。

 

タグ

2014年11月7日 | コメント/トラックバック(0) |

カテゴリー:その他

activeadminのCSVダウンロードをShift_JISに変更する

Railsに管理画面を導入するactiveadminはかなり便利です。

デフォルトではデータのCSVダウンロードがUTF-8となっています。

config/initializers/active_admin.rb にて

とすると、Shift_JIS(CP932)のCSVとしてダウンロードされるので、Excelで文字化けなく開けます。

タグ

2014年10月5日 | コメント/トラックバック(0) |

カテゴリー:その他