<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
		xmlns:xhtml="http://www.w3.org/1999/xhtml"
>

<channel>
	<title>MinorProbrem&#187; ruby on rails</title>
	<atom:link href="http://hmlab.info/minor/tag/ruby-on-rails/feed/" rel="self" type="application/rss+xml" />
	<link>http://hmlab.info/minor</link>
	<description>グダグダ日記</description>
	<lastBuildDate>Wed, 27 Apr 2011 21:48:54 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1</generator>
<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://hmlab.info/minor/tag/ruby-on-rails/feed/" />
		<item>
		<title>【restful_authentication】認証メールとDBのactivation_codeが全然違う件</title>
		<link>http://hmlab.info/minor/2009/02/20090201_2328053860/</link>
		<comments>http://hmlab.info/minor/2009/02/20090201_2328053860/#comments</comments>
		<pubDate>Mon, 02 Feb 2009 13:53:48 +0000</pubDate>
		<dc:creator>Hex68</dc:creator>
				<category><![CDATA[ruby]]></category>
		<category><![CDATA[acts_as_state_machine]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[restful_authentication]]></category>
		<category><![CDATA[ruby on rails]]></category>
		<category><![CDATA[プラグイン]]></category>
		<category><![CDATA[メール]]></category>
		<category><![CDATA[ユーザ]]></category>
		<category><![CDATA[認証]]></category>

		<guid isPermaLink="false">http://hmlab.info/minor/?p=3860</guid>
		<description><![CDATA[メールでユーザー認証とか格好いいよね railsにrestful_authenticationというプラグインがある。 いざ実装すると面倒くさいユーザー認証のあたりを受け持ってくれる。 しかもよくWebサイトでのユーザー [...]]]></description>
			<content:encoded><![CDATA[<h2>メールでユーザー認証とか格好いいよね</h2>
<p>railsに<strong>restful_authentication</strong>というプラグインがある。</p>
<p>いざ実装すると面倒くさいユーザー認証のあたりを受け持ってくれる。</p>
<p>しかもよくWebサイトでのユーザー登録で見かける、ブラウザで登録→登録したメールアドレスに確認メールを投げる→メール中のactivation用URLに飛ぶことでユーザー登録完了という流れを簡単に実装してくれる。(プラスしてacts_as_state_machineプラグインも使用するけど）</p>
<p>ちょっと今作っているWebサイトがあって、それに使えそうなので試してみた。</p>
<p><a href="http://terrazilog.quipu.jp/?eid=585865" target="_blank">http://terrazilog.quipu.jp/?eid=585865（てらじろぐ）</a></p>
<p>上記サイト様に詳しく説明されていたのでそれに従う。</p>
<p>要約すると以下</p>
<ol>
<li>plugin入れーの</li>
<li>userとsessionモデルgenerateしーの</li>
<li>routes.rbにルート書きーの</li>
<li>SMTPサーバにメールを投げる設定しーの</li>
<li>オブザーバ使えるようにしーの</li>
</ol>
<p><strong><span style="text-decoration: line-through;">嫁ぎー</span></strong></p>
<p>以上。で、db:createとdb:migrateすると、DBとテーブルが作られます。</p>
<p>で、試しに/users/newからユーザーの登録処理をやってみる。</p>
<p>無事登録したメールアドレスに、ユーザー認証用のURLが書かれたメールが飛んだ。</p>
<h2>activation_code偽装</h2>
<p>これでよかった、実験は成功で終わらないのが僕の悪いところ。メールにかかれた認証URLをクリックしても、ユーザーのstateがpending（activeになる前の保留状態）から変わらない。</p>
<p>何度登録を繰り返してもうまくいかないので、usersテーブルの中のactivation_codeを確認する。</p>
<p>あれ？<strong>activation_codeがメールに書かれてるものと違っている</strong>・・・？</p>
<p>メールに書かれたURLは</p>
<blockquote><p>http://localhost:3000/activate/XXXXXXXXXXXXXXX</p></blockquote>
<p>みたいな感じで、XXXのところがactivationコードになるのだけど、ここがDBに登録されているものとまったく違っている。これじゃあ認証できないわけだ。</p>
<p>調べてみると、user_mailerモデルのsignup_notification（送信するメールをごにょごにょするところ）までのactivation_codeと、userコントローラーでcreateが終わった時でactivation_codeが異なっている様だ。</p>
<p>要するに、ここにアクセスしてくださいね、とメールを送った後に、なぜかそのURLを書き換えてしまっている状態。</p>
<h2>解決方法</h2>
<p>activation_codeを複数回設定しているとしか思えないのだけど、ソースをおったけどよく判りませんでした。</p>
<p>なので<strong>僕お得意のやっつけ</strong>で、</p>
<p>メールの設定をしているsignup_notificationの中で、userの設定をDBに書き込んで対処しました。</p>
<blockquote><p>class UserMailer &lt; ActionMailer::Base</p>
<p>def signup_notification(user)</p>
<p><span style="color: #ff0000;">user.save</span></p>
<p>・・・・</p></blockquote>
<p>すげー強引。</p>
<p>いちおうこれでやったら、DBの中とメールで送られてきたactivation_codeが等しいものになりました。</p>
<p>このativation_codeが変わってしまうのがどうしても判らなくて、先達の教えを請おうといつものようにGoogleったんだけど、なぜか全然同じような問題に関する記述が見当たらなかった。え？なんで？僕だけなの？なんで？？？</p>
<p>メール認証で間違ったURLを送りつけるとかけっこうクリティカルな問題なのに、他に聞かないってことは僕の環境のせいなんだろうか。</p>
<p>ちなみに環境はrails2.2.2、ｍｙｓｑｌ5.0.27、pluginは多分最新のもの、OSはwindowsXPです。</p>
<p>対処はわかっても今だ原因は判らないというモヤモヤ。</p>
]]></content:encoded>
			<wfw:commentRss>http://hmlab.info/minor/2009/02/20090201_2328053860/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://hmlab.info/minor/2009/02/20090201_2328053860/" />
	</item>
		<item>
		<title>rails de Amazon （AMAZON::ECSプラグイン)はソート順おかしくね？</title>
		<link>http://hmlab.info/minor/2008/12/20081203_2212113691/</link>
		<comments>http://hmlab.info/minor/2008/12/20081203_2212113691/#comments</comments>
		<pubDate>Wed, 03 Dec 2008 13:12:11 +0000</pubDate>
		<dc:creator>Hex68</dc:creator>
				<category><![CDATA[ruby]]></category>
		<category><![CDATA[amazon]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[ecs]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ruby on rails]]></category>
		<category><![CDATA[ソート]]></category>
		<category><![CDATA[プログラム]]></category>
		<category><![CDATA[検索]]></category>

		<guid isPermaLink="false">http://hmlab.info/minor/?p=3691</guid>
		<description><![CDATA[こんばんは。最近は家でも会社でもめっきりrubyばっかりいじっているRubyistな僕です。 誕生石もルビーだし。 きょうびRubyっつーたらrailsでしょ、ってことでrailにも手を出している。 ところで僕はよくブッ [...]]]></description>
			<content:encoded><![CDATA[<p>こんばんは。最近は家でも会社でもめっきり<strong>rubyばっかり</strong>いじっている<strong>Rubyistな僕</strong>です。</p>
<p><strong>誕生石もルビーだし</strong>。</p>
<p>きょうび<strong>Rubyっつーたらrails</strong>でしょ、ってことでrailにも手を出している。</p>
<p>ところで僕はよくブックオフで漫画を買うんだけど、古本ってことで当然売りに出ている巻から買っていくもんだから、長期連載ものを集めてたりするともう、あれー、<strong>どこまで買ったけな</strong>？なんてことが良くあって、ヘタこくと同じ巻を<strong>被って購入</strong>してしまったりして後で悲しい思いをすることになる</p>
<p>なんで、簡単に持っている本（とかDVDとか）の<strong>登録、閲覧ができるような蔵書管理用のアプリ</strong>をrailsの練習を兼ねて作ってます。</p>
<p><span id="more-3691"></span></p>
<h2>だからAmazonWebサービス</h2>
<p>まずは本のタイトルや表紙なんかをAMAZONから検索して取ってこれるようにしよう、ってことで、ググってみる。<a href="http://www.amazon.co.jp/gp/feature.html/ref=amb_link_35358006_4?ie=UTF8&amp;docId=451209&amp;pf_rd_m=AN1VRQENFRJN5&amp;pf_rd_s=left-nav-3&amp;pf_rd_r=1KDAY6A5X4AHBERKN587&amp;pf_rd_t=101&amp;pf_rd_p=84119406&amp;pf_rd_i=489986" target="_self">AMAZONーWebサービス</a>（AWS)ってのがあるらしい。ようするにamazonが公開している商品検索API。</p>
<p>railsで簡単に使えるAMAZON::ECSというプラグインがあるというので、まずはそれを使ってみた。まずは<strong>gemからインストール</strong>。</p>
<blockquote><p>sudo gem install amazon-ecs</p></blockquote>
<p>忘れてた。AWSを使うならアクセスキーを貰っとく必要があります。</p>
<p><a href="http://www.amazon.co.jp/gp/feature.html//ref=gw_br_websv?ie=UTF8&amp;docId=451209&amp;pf_rd_p=463616436&amp;pf_rd_s=left-nav-3&amp;pf_rd_t=101&amp;pf_rd_i=489986&amp;pf_rd_m=AN1VRQENFRJN5&amp;pf_rd_r=1JS3JZ0YYF7D0PKP2CE1" target="_self">こちらのメニュー</a>の<a href="https://www.amazon.co.jp/gp/redirect.html/ref=amb_link_17633606_2?location=https://aws-portal.amazon.com/gp/aws/developer/registration/index.html&amp;token=44658695A979E38DF758108C1B9D591E9BA586ED&amp;pf_rd_m=AN1VRQENFRJN5&amp;pf_rd_s=center-1&amp;pf_rd_r=1EQN16QKFHJMJ0TMY2WE&amp;pf_rd_t=1401&amp;pf_rd_p=85471406&amp;pf_rd_i=451209">登録IDの取得（英語）</a>から取得してください。無料です。</p>
<p>次にconfig/environment.rbでさっきのプラグインを読み込み＆設定</p>
<blockquote><p>require &#8216;amazon/ecs&#8217;<br />
Amazon::Ecs.debug = true<br />
Amazon::Ecs.options = {<br />
:aWS_access_key_id =&gt; &#8220;さっき取得したID&#8221;,<br />
:associate_tag =&gt; &#8220;アソシエイトIDがあればここに&#8221;,<br />
:country =&gt; :jp #日本なら<br />
}</p></blockquote>
<p>で、適当にmodelをつくって、検索ワードをRESTで投げる。</p>
<h2>ソート順おかしくね？</h2>
<p>たしかにXMLは取得できたんだけど、なにかちょっと変。具体的には、ソート順がおかしいような？</p>
<p>たとえば、検索ワード「<strong>ガンダムさん</strong>」ジャンルを「<strong>和書(books)</strong>」、ソート順を「<strong>Salesrank</strong>」（売り上げ順）で取得すると、本来ならばっちり「<strong>ガンダムさん</strong>」が検索順のトップに来るべきところこれがそうではなく、それならばと「<strong>機動戦士ガンダム</strong>」というわけでもなく、</p>
<p><img class="alignnone" src="http://9bee6w.bay.livefilestore.com/y1pS8TEDFPYpDy3ffWbY3OBTs2HgEaJ7vF1lUIRNNakWyWxRYWmZtmRN5bxmEDoB5lxO9KzG_21uDdEeF2Fpc5NPA/1%E3%81%AE%E3%82%B3%E3%83%94%E3%83%BC" alt="" width="591" height="400" /></p>
<p>トップは<strong>何故か<br />
</strong></p>
<h3><strong>↓ムダヅモ無き改革（近代麻雀コミックス）</strong></h3>
<p><strong></strong></p>
<table border="0" cellpadding="5">
<tbody>
<tr>
<td valign="top"><a href="http://www.amazon.co.jp/%E3%83%A0%E3%83%80%E3%83%85%E3%83%A2%E7%84%A1%E3%81%8D%E6%94%B9%E9%9D%A9-%E8%BF%91%E4%BB%A3%E9%BA%BB%E9%9B%80%E3%82%B3%E3%83%9F%E3%83%83%E3%82%AF%E3%82%B9-%E5%A4%A7%E5%92%8C%E7%94%B0-%E7%A7%80%E6%A8%B9/dp/4812468698%3FSubscriptionId%3D0G91FPYVW6ZGWBH4Y9G2%26tag%3Dminorproble06-22%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D4812468698" target="_top"><img src="http://ecx.images-amazon.com/images/I/51xprK2rfKL._SL160_.jpg" border="0" alt="ムダヅモ無き改革 (近代麻雀コミックス)" /></a></td>
<td valign="top"><span><a href="http://www.amazon.co.jp/%E3%83%A0%E3%83%80%E3%83%85%E3%83%A2%E7%84%A1%E3%81%8D%E6%94%B9%E9%9D%A9-%E8%BF%91%E4%BB%A3%E9%BA%BB%E9%9B%80%E3%82%B3%E3%83%9F%E3%83%83%E3%82%AF%E3%82%B9-%E5%A4%A7%E5%92%8C%E7%94%B0-%E7%A7%80%E6%A8%B9/dp/4812468698%3FSubscriptionId%3D0G91FPYVW6ZGWBH4Y9G2%26tag%3Dminorproble06-22%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D4812468698" target="_top">ムダヅモ無き改革 (近代麻雀コミックス)</a><img src="http://www.assoc-amazon.jp/e/ir?t=minorproble06-22&amp;l=ur2&amp;o=9" border="0" alt="" width="1" height="1" /></span></p>
<p><span>大和田 秀樹</span></p>
<p><span>竹書房  2008-09-05<br />
売り上げランキング : </span></p>
<p><span><a href="http://www.amazon.co.jp/%E3%83%A0%E3%83%80%E3%83%85%E3%83%A2%E7%84%A1%E3%81%8D%E6%94%B9%E9%9D%A9-%E8%BF%91%E4%BB%A3%E9%BA%BB%E9%9B%80%E3%82%B3%E3%83%9F%E3%83%83%E3%82%AF%E3%82%B9-%E5%A4%A7%E5%92%8C%E7%94%B0-%E7%A7%80%E6%A8%B9/dp/4812468698%3FSubscriptionId%3D0G91FPYVW6ZGWBH4Y9G2%26tag%3Dminorproble06-22%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D4812468698" target="_top">Amazonで詳しく見る</a></span><span> by <a href="http://www.goodpic.com/mt/aws/index.html">G-Tools</a></span></td>
</tr>
</tbody>
</table>
<p><strong>なんでやねん。</strong></p>
<p>いやいやいや、ガンダムとか、<strong>全然関係ないじゃん</strong>。この<strong>検索結果がむしろムダヅモ</strong>やっちゅーねん。<br />
こんなわけあるか、と思ってプラグインを使わないで、普通にRESTで投げてみた結果がこちら</p>
<p><img class="alignnone" src="http://9bee6w.bay.livefilestore.com/y1pQ9lk9Rb9nyPVj81TybDWXi0-gQgnm4Trce-uUV25dlZksUiETNwrY0cUBdOYNzVlAPbN3hHtmCY61WlH5ri4Ug/%E5%90%8D%E7%A7%B0%E6%9C%AA%E8%A8%AD%E5%AE%9A%202" alt="" width="600" height="292" /></p>
<p><strong>問題なし。</strong></p>
<p>う～ん？おなじリクエストを出してるつもりなんだけどなあ。</p>
<p>他の検索ワードも大体似たような感じ。</p>
<p>検索に対するHIT数とかは同じだから単純にソート順がちがってるだけなんだろうけどなあ。</p>
<p>よくわからないので、とりあえず素でRESTを投げることにしました。釈然としませんが。</p>
]]></content:encoded>
			<wfw:commentRss>http://hmlab.info/minor/2008/12/20081203_2212113691/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://hmlab.info/minor/2008/12/20081203_2212113691/" />
	</item>
		<item>
		<title>Vaioノートにubuntu、無線LANもついてます</title>
		<link>http://hmlab.info/minor/2008/11/20081116_160653/</link>
		<comments>http://hmlab.info/minor/2008/11/20081116_160653/#comments</comments>
		<pubDate>Sun, 16 Nov 2008 07:06:42 +0000</pubDate>
		<dc:creator>Hex68</dc:creator>
				<category><![CDATA[ruby]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ruby on rails]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[vaio]]></category>
		<category><![CDATA[無線LAN]]></category>
		<category><![CDATA[設定]]></category>

		<guid isPermaLink="false">http://hmlab.info/minor/2008/11/20081116_160653.html</guid>
		<description><![CDATA[不景気の昨今、明日突然に会社をおん出されてもツブシがきくように、ここらでruby on railsでもまじめにやっとくか、ってことで家PCにインストール。 しばらくはwindowsでやってたんだけど、windowsだとな [...]]]></description>
			<content:encoded><![CDATA[<p>不景気の昨今、明日突然に<strong>会社をおん出されても</strong>ツブシがきくように、ここらで<strong>ruby on rails</strong>でもまじめにやっとくか、ってことで家PCにインストール。</p>
<p>しばらくはwindowsでやってたんだけど、windowsだとなぜかgemが通らなかったりしてもうディスプレイを窓から投げたいくらいイライラさせられた。ゲイツ君ンところの子は、まったくダメな子だなあ。</p>
<p>なんでVmwareにFedoraをつっこんでみたんだけど、一個ノートPC（VAIO）が余っていたことを思い出したので、もうこいつをLinuxにreplaceして開発マシン＆簡易サーバーにしたててしまおうと。</p>
<p><span id="more-3653"></span></p>
<p>個人的にはRHカーネルが好きなんだけど、お手軽そうな<a href="http://www.ubuntulinux.jp/" target="_blank">ubuntu</a>を選択。ISOイメージをダウンロードしてCDに焼く。</p>
<p>ちょっとした心配事としてノートPCのタッチパッドをubuntuが認識してくれるかがあったので、まずはインストールをしないでCDからブート。とくに何の設定もなく、タッチパッドを認識している。</p>
<p>よしこれなら、ということで、HDDをまっさらにしてubuntuをインストール。これといったトラブルもなく、VAIOでubuntuが立ち上がる。</p>
<p><img src="http://byfiles.storage.live.com/y1pCybnNuEmnKT-YL3EN_KtPt79jwuzw2u2sNRr4gPcG1aTTzTm-84jjqOQubGRqjUl" alt="" /></p>
<p>拍子抜けするくらい簡単。</p>
<p>であとはrailsを突っ込む。取り立てて必要そうな</p>
<ol>
<blockquote>
<li>lighttpd（apacheよりこっちのが早いし、railsとの相性もよさそう）</li>
<li> ruby</li>
<li> rubygems</li>
<li> rails</li>
<li> mysql</li>
</blockquote>
</ol>
<p>これでこのノートPCは「<strong>５時間は電源不要の簡易UPSを積んだコードレスで持ち運び可能なWEBサーバー</strong>」になりました。これでこの使い道のなかったVAIOノートは最強強まったデベロップマシンになった感。うひょひょ。<br />
をapt-getでインストール。</p>
<p>コマンドはそれぞれ</p>
<ol>
<li>sudo apt-get install lighttpd</li>
<li>sudo apt-get install ruby</li>
<li>sudo apt-get install rubygems</li>
<li>sudo gem install rails</li>
<li>sudo apt-get install mysql-server</li>
</ol>
<p>でOK。</p>
<p>ためしに適当なディレクトリでrails test -D mysqlしたらなんかできた。</p>
<p>ここまでOSインストールから1時間ちょっと。Windwosでやるより楽でいい。これでrailsをお勉強します。</p>
<p>そうそう、ノートPCにubuntuを入れるのにもう一個心配、というか気がかりだったのが無線LANは使えなくなっちゃうかなー、ってこと。</p>
<p>まあダメだったら有線でいいやーなんて思ってたんだけど、<strong>最近のディストリは優秀</strong>だね、あっさりつながった。</p>
<p>ubuntuのメニューのNetwork Configurationでネットワーク接続のコンフィグ設定ができます。</p>
<p>ここで無線ってタグを選んで、無線LANの設定をすれば、あっさり無線でネットワークにつながりました。</p>
]]></content:encoded>
			<wfw:commentRss>http://hmlab.info/minor/2008/11/20081116_160653/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://hmlab.info/minor/2008/11/20081116_160653/" />
	</item>
	</channel>
</rss>

