メモ。 Gem の Mailライブラリ(mail | RubyGems.org | your community gem host)で素朴に日本語のメールを送る場合、文字コードはISO-2022-JPではなく、UTF-8になります(Rails3で送信するメールの本文をbase64ではなく8bitにする方法 - 思っているよりもずっとずっと人生は短い。)。 ISO-2022-JP で送るようにするには、Mail::Message で charset を設定してやればいいみたい mail = Mail.new <メールアドレスとか題名とかの設定> mail.body = NKF.nkf '-j', <日本語の本文> mail.charset = 'ISO-2022-JP' mail.deliver ただ、このままだと添付ファイルを付けたりしたときにおかしくなります。mail.charset は
来年も作りたい!ふきのとう料理を満喫した 2024年春の記録 春は自炊が楽しい季節 1年の中で最も自炊が楽しい季節は春だと思う。スーパーの棚にやわらかな色合いの野菜が並ぶと自然とこころが弾む。 中でもときめくのは山菜だ。早いと2月下旬ごろから並び始めるそれは、タラの芽、ふきのとうと続き、桜の頃にはうるい、ウド、こ…
Rails3.0.0 で iso-2022-jp メールを送る - 篳篥日記 Rails3 ActionMailerを解析して、ISO-2022-JPに対応する - A Life Less Ordinary 先人達の知恵がありますが、別のアプローチを考えついたので記事にしてみます。 ※検証したものの運用が不十分なため、問題が起きる可能性がありますので参考にされる場合はご注意ください 環境 Ruby 1.9.2p290 Rails(ActionMailer) 3.0.10 Mail 2.2.19 要点 ActionMailerクラスのdefaultやmailメソッドでcharsetを指定しても、メール本文は変換されない 本文を変換させるには、Mail::Bodyのインスタンスのcharsetを直接指定する 上記の記事ではMailライブラリにモンキーパッチをあてていますが、ActionMail
RubyKaigiの記事を書きましたが、思いの外反響があり驚きました。 文脈のせいかもしれませんが、批判的に見えたかもしれません。 決して否定的じゃないことを、どうかご理解下さい。 さて、RubyKaigiを経て、もうちょっと色々真剣になろうと決めたわけですが、 その第一歩目は、数多くの人が直面したであろう、ActionMailerを使ってISO-2022-JPエンコーディングのメールを送信する場合の対処について、自分なりに解析してみました。 便利なgemは、jpmobileを筆頭に数多くあると思いますが、まずはそれらを使わずにやってみます。 おもしろWEBサービス開発日記 http://d.hatena.ne.jp/willnet/20100429/1272513819 を参考に、ModelとMailerを作成。 Ruby:1.9.2p0 Rails:3.0.3 Model : Entr
たった1行のvalidates_presence_ofが入力値の検証とエラー表示を行っているが、それを実現するためにはいろいろな機能が絡み合っていることが分かった。 validateに関連することで分かったこと データベースへの追加または更新の前に検証される。一つでもエラーが発生すると、そのレコードは一切保存されない。 モデルはerrorsという看板を持っていて、エラーが発生すると、エラーフィールド名とエラーメッセージがその看板に保存される。 手軽にvalidateを活用するためには、入力フォームの描画はRailsが用意したメソッド*1を利用するべき*2。 validates_のバリエーション メソッド 検証方法 validates_presence_of 値が入力済であること検証 validates_uniqueness_of 同じ値が存在しないことの検証 validates_lengt
factory_bot and factory_bot_rails release candidates were released this week thanks to Joe and Josh. The big change is some great-looking new syntax. Check it out: Old: Factory.sequence :email do |n| "email#{n}@example.com" end Factory.define :user do |factory| factory.name { 'Ron Burgundy' } factory.email { Factory.next(:email) } end Factory.define :admin, parent: :user do |factory| factory.admin
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く