Ruby1.8.7以降ではtruncateメソッドの仕様が変わったらしくエラーが起きる
『基礎Ruby on Rails』を手にウェブアプリケーション "Morning Glory" を作成していたわけですが、第6章のデータを MySQL にインポートしたら以下のようなエラーが生じてしまいました。
NoMethodError in Main#index undefined method `length' for #<Enumerable::Enumerator:0xb676c440>
問題の「Main#index」ってのは以下の RHTML ファイルです。どうやらこれの8行目にある truncate メソッドが引っかかっているご様子。
<% @side_bar_template_name = 'side_bar' -%>
<div id="whats_new">
<h2>What's New</h2>
<ul>
<% @new_articles.each do |a| -%>
<li><%= link_to h(a.heading), :action => a.place,
:anchor => "article_#{a.id}" %>
<%= truncate(h(a.body), 20) %></li>
<% end -%>
</ul>
</div>
<div id="main">
<% @top_articles.each do |a| %>
<h2><%= h(a.heading) %></h2>
<%= simple_format(h(a.body)) %>
<% end -%>
</div>
結論から言うと、これは Ruby のバージョンというか仕様に対してもともとのコードが噛み合ってないのが原因のようです。解決策は以下のとおり。
……続きを読む »
Gmail画面のGoogle Taskリンクを消すスタイル
![[画像] Gmail Google Task Hidden](http://www.kagitaku.com/diary/images/100811_GmailGoogleTaskHidden.png)
Gmail の UI がまた新しくなりましたね。嫌いじゃないです、新しい UI。
で、バージョンアップしたことだし、いい機会なので、使っていない Google Task のリンクを消してすっきりしようと思い立ちました。左上のけっこういい場所に陣取ってますからね、このリンク。どちらかと言えば邪魔なので、このリンクを消す CSS を書きました。
……続きを読む »
Railsで次のエラーへの対処法:We’re sorry, but something went wrong.
Ruby on Rails で楽しくウェブアプリを作ろうとコントローラを以下のように作成して http://localhost:3000/main/index/ にアクセスを試みたのですが、エラーに遭遇したのでその対処法メモです。
ruby script\generate controller main
アクセスすると、まだビューを作成していないので本来なら「Template is missing」と表示されるはずなのに、表示されるのは以下のメッセージ。「something went wrong」と言われても困ります。僕のほうこそそこを知りたいw
We’re sorry, but something went wrong.
We’ve been notified about this issue and we’ll take a look at it shortly.
RailsのWEBrickサーバを強制的に停止する方法
Ruby on Rails で WEBrick サーバを起動したはいいものの停止できなくなってしまった場合の対処法です。
……続きを読む »
Rubyで1からnまでの整数をランダムに並び替える(処理速度の比較まで)
最近 Ruby の勉強を始めました。で、「Ruby を使って、1から n までの整数をランダム1な順番に並べ替える」ということを考える機会があったので備忘録代わりにポストしておきます。
やり方はとりあえず2つ思い付きました。単純に2つの方法でやってみて「できたー」じゃおもしろくないので、2つの方法それぞれで処理にかかる時間を比較してみました。
……続きを読む »
![[画像] 今日の気になる記事「きにきじ」QR Code](http://www.kagitaku.com/diary/images/qrcode.png)
![[画像] きにきじ Feed](http://www.kagitaku.com/diary/images/Newspaper_Feed_128x128_ie6.png)
![[画像] kagitaku.com ロゴ](http://www.kagitaku.com/common/images/logo.png)





![[画像] 最上部へ](http://www.kagitaku.com/common/images/pageNavi-toTop.png)
![[画像] 最下部へ](http://www.kagitaku.com/common/images/pageNavi-toBottom.png)
![[画像] 履歴を戻る](http://www.kagitaku.com/common/images/pageNavi-back.png)
![[画像] 履歴を進む](http://www.kagitaku.com/common/images/pageNavi-forward.png)
![[画像] Contact](http://www.kagitaku.com/common/images/pageNavi-contact.png)
![[画像] Sitemap](http://www.kagitaku.com/common/images/pageNavi-sitemap.png)