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 のバージョンというか仕様に対してもともとのコードが噛み合ってないのが原因のようです。解決策は以下のとおり。
……続きを読む »
Rubyで1からnまでの整数をランダムに並び替える(処理速度の比較まで)
最近 Ruby の勉強を始めました。で、「Ruby を使って、1から n までの整数をランダム1な順番に並べ替える」ということを考える機会があったので備忘録代わりにポストしておきます。
やり方はとりあえず2つ思い付きました。単純に2つの方法でやってみて「できたー」じゃおもしろくないので、2つの方法それぞれで処理にかかる時間を比較してみました。
……続きを読む »
JavaScript のお勉強でストップウォッチを作ってみた
JavaScript を勉強する機会があったので、ストップウォッチを作ってみました。
タスク名を入力する欄があり、現在時刻、経過時間と一緒に記録することができるので、「あのタスクに何分くらいかかったか記録しておきたい」というときに使えるかもしれません。もしくは、カップ麺を食べる際のお供にどうぞw
![[画像] JavaScriptによるストップウォッチ](http://www.kagitaku.com/diary/images/100708_js-stopwatch.png)
MS Wordをむりやりマークアップっぽく使う方法:異なる文字列の書式を一括で変更する
Microsoft Word を HTML のようにマークアップ的に使う、つまり、テキストエディタで書いた文章に対してあとで一括書式設定を行う方法のメモです。
僕は普段の文書(論文、レポートなど)作成に Word を使っています。この Word、性格を理解してあげればおせっかい機能とかもさほど苦にならず、直感的な比較的使いやすい文書作成ソフトになります。ただ、どうしてもいただけないのが起動や操作の「重さ」です。テキストエディタ並みの軽さで動けばいいのにといつも思います。で、最近になって需要が出てきたので、Word をマークアップ的に使う方法をメモ代わりに記しておきます。
ちなみに、修士論文は Tex で書こうかと思ってますw
以下が目次です。
美しいスライドデザインのためにガイドを利用する:複数ガイドの描き方も
パワーポイントなどでプレゼンテーション用のスライドを作る際にデザインの参考になる記事をご紹介します。
以下の記事では、ガイド用のラインを引いて、それに合わせて要素を配置するということが書かれています。実際にガイドに合わせて作られている美しいデザインも紹介されていますので、なかなか説得力もあります。
……続きを読む »
![[画像] 今日の気になる記事「きにきじ」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)