5月 29
RubyOnRailsで日本語メールを送信するでActionMailerの使い方を簡単に説明しましたが、これだけだと自分の備忘録にすらなっていないので追記。
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
:address => ‘SMTPサーバ’,
:port => 25,
:authentication => :login,
:user_name => ‘アカウント’,
:password => ‘パスワード’
}
上記をconfig/environment.rbに追記。
送信するときには「RubyOnRailsで日本語メールを送信する」の例であれば、コントローラ等から
Hoge.deliver_sendmail
とすればOK。「Hoge」はクラスですね。「deliver_」はお約束です。アンダースコアの後ろがメソッド名になります。~というメソッドに紐付くメールを送信しなさい、っていうイメージですかね。
5月 27
まぁ簡単にいうとRSSリーダーみたいなことをしたいときに使います。相手がRSSじゃなくてもOKです。Web上のコンテンツを読み込みたいときに使います。ただ、今回のサンプルだとgetしかできないので、制限はあります。
require ‘open-uri’
open(“http://www.tt-house.com/atom.xml”){|f|
data = f.read
xmldoc = REXML::Document.new data
xmldoc.elements.each(“feed/entry/title”){|element|
p element.text
}
}
文字コードのことは気にしてません。
これでハセテツラボRSSのタイトル一覧が取得できます。他のサービスとのマッシュアップ等にも使えますが、やっぱりデータのpostもできないと使い勝手は悪いですよね。
postをするサンプルは次回にしましょう。
5月 22
頻繁に使うくせに、いつまでたっても覚えられない。ついついコピペして使いまわしちゃうから「あれ、どうやって書くんだっけ」の繰り返しになってしまう。
これは、確認も含めて整理しておこう。
<% form_tag ({:controller => ‘コントローラ’, :action => ‘アクション’}, {:method => ‘post’, :multipart => true}) do %>
<dl>
<dt>入力してください。「テキストボックス」</dt>
<dd><%= text_field_tag :hoge, nil, :style => ‘width:320px;’ %></dd>
<dt>選択してください「ラジオボタン」</dt>
<dd>
<label><%= radio_button_tag :status, ‘0′, ‘checked’ %>非表示</label> |
<label><%= radio_button_tag :status, ‘1′ %>表示</label>
</dd>
<dt>コメントしてください。「テキストエリア」</dt>
<dd><%= text_area_tag :comment, nil, :style => ‘width:320px;height:120px;’ %></dd>
<dt>ファイルをアップロードしてください「ファイル」</dt>
<dd><%= file_field_tag :file_name %></dd>
</dl>
<% end %>
methodはデフォルトでPOSTなので、特に指定する必要はありません。ファイルをアップロードしない場合は
<% form_tag :controller =>’コントローラ’, :action => ‘アクション’ do %>
でもOKです。text_field_tagの「:hoge」は要素名、「nil」は値。アクション側で受け取るときは
params['hoge']
で受け取れます。
Railsであればform_forが猛烈に便利なのですが、すべてのフォームがモデルとイコールなわけではないので、やっぱりform_tagの出番も増えます。
設計が間違ってるのかなぁ。