Hatena::Diary

マグネシウムライト

2010-01-24

あたい、もうRailsさんのことわかんない

ついにRailsについて行けなくなった。というか、「あたい、もうRailsさんのことわかんない!」って気分。

前からscaffoldでこんな感じの複雑なrespond_toとか返されてるのがなんだかなーという気持ちだった。

respond_to do |format|
  format.html # index.html.erb
  format.xml  { render :xml => @entry }
end

あと、こういうのも直感的なのか?

<%= link_to 'Back', entries_path %>

entries_pathってなんすかってなった。いつの間に生まれたんだおまえ。

routes.rbにもこういうルーティング書かれちゃうから、

map.resources :entries

新しいrestfulじゃ全然ないアクション追加するときにtoutes.rbいじらないとだめだった。

:collectionとかやったら動作した。struts-config.xml思い出した。

map.resources :entries, :collection => { :tags => :get , :search => :get}

なんかrestfulとかでうまい方法あるのかもしれない。でも、なんでもパーフェクトなrestfulアプリにしたいわけじゃないんだよう。

と、scaffoldを実行しなきゃ生まれない嘆きな気がするけどrailsは着々と分からないことになっていってた記念かきこ。


昔みたいにうまくいかなかったからいちゃもん付けたかったんだ。ちょっとsinatra見てくる。

2009-08-14

携帯向けのmail_to

とりあえずRailsで3キャリア対応のサイト作ったりしてるんだけど、携帯端末のメーラに題名や本文を渡して立ち上げさせるのがちょっと面倒。

mailtoだと認識してくれないのでaタグのhrefに"mailto:hogehoge"と書かないといけない。

そんときにパラメータでsubjectやbodyにエスケープされた日本語文字列を渡せばちゃんと題名や本文が入った状態でメーラが立ち上がってくれる。

んだけど、最近のソフトバンク端末はutf8、それ以外はsjisの日本語文字列を渡さないとどっかのキャリアで文字化けしちゃう。


そんなわけでapplication_helper内にmobile_mail_toみたいなのを用意。jpmobileを使ってる前提です。

def mobile_mail_to(email_address, name, html_options = {})
  html_options = html_options.stringify_keys
  subject, body = html_options.delete("subject"), html_options.delete("body")
  
  # subjectとbodyをエンコード
  encoded_subject = mailto_string subject
  encoded_body    = mailto_string body
  
  "<a href=mailto:#{email_address}?subject=#{encoded_subject}&body=#{encoded_body}>#{name}</a>"
end

# mailto用文字エンコード変更
def mailto_string(strings)
  return "" unless strings
  result_string =""

  # ソフトバンクの以外はsjis化、ソフトバンクはutf8化してからエスケープをかける。
  unless request.mobile.is_a?(Jpmobile::Mobile::Softbank)
    result_string = CGI.escape(strings.tosjis)
  else
    result_string = CGI.escape(strings.toutf8)
  end

  result_string
end

これで

mobile_mail_to 'info@hoge.com',
               '会員登録',
               :subject => 'このまま送ってね',
               :body => '会員登録用のメールでーす'

みたいにすれば"会員登録"という文字にmailto用のリンクを張ってくれて、クリックするとメーラに題名と本文も入れてくれる。

もう少しやるなら、mail_to自体をオーバーライドしちゃって携帯端末じゃなければ普通のmailtoで出力して、携帯端末ならこのmobile_mail_toに渡すのがよさそうですね。

2009-07-28

imodeのdivタグで左寄せ

メモメモ

<div style="text-align:center;">
  <!-- 中略 -->
  <div align="left">
    hogehoge
  </div>
</div>

って書くとhogehogeはセンタリングされて表示されるのかな。

<div style="text-align:center;">
  <!-- 中略 -->
  <div style="text-align:left;">
    hogehoge
  </div>
</div>

こうやったら左寄せになった。携帯はようわかりゃん。

つまりあれだalignやりたいならstyle内でやれと。

またつまらぬことを書いてしまった

2009-05-08

easy peasy使うよりもUbuntu Netbook Remix

以前はeeePC901でeasy peasyを使ってたんだけどUbuntu9.04出たし、Netbook Remixも出てたしインストールしてみたら見た目も使い勝手もeasy peasyとどう違うのかわからないくらいのものになってるんですね。

てなわけでコミュニティやプロダクトチームも強力そうなUbuntu本体の方に移行しました。

快適に使えてるし、起動画面がかっこよくなってたりして満足です。

でも、Ubuntuが進めてるクラウドコンピューティングとかそういうのはよくわからない^^;

2009-04-30

Xmarks for safariを使ったら保存してるパスワード消えた

題名のままで終わりなんだけど、firefoxと共有どころかsafari4では保存してるパスワードが消えてしまいました。

ざんねんな気分です。


えーっと。mixiのIDとpassはなんだったっけな。

ブラウザに保存させるなんて常識的に考えてほにゃらほにゃ。