みずぎわブログ

技術系のことや日々に考えたことを書き連ねます

Rails 動的にメールサーバを変更してアドレスごとに異なるメールを送信する方法

Railsではメーラークラスを使ってメールを送信することができる.
メーラーの設定は一般的にconfig/environments/以下に設定ファイルを

config.action_mailer.default_url_options = { :host => "localhost", :port => 3000 }
  config.action_mailer.delivery_method = :smtp
  config.action_mailer.smtp_settings = {
    :address => "smtp.gmail.com",
    :port => 000,
    :domain => 'example.com',
    :user_name => "メールサーバ認証用ユーザー",
    :password => "メールサーバ認証用パスワード",
    :authentication => 'plain',
    :enable_starttls_auto => true,
  } 

などとして設定するのだが,単一のメールアドレスだけでなく複数のアドレスから送信したい場合があると思う.
例:このコントローラーからはAのアドレスで送って,違うコントローラーからはBのアドレスで送りたい

そんな際の実装をやってみたのでメモに残しておく.

続きを読む

Mac OS X Mavericks にてBetterTouchToolの3本指でMiddle clickが使えない場合の対処法

 

BetterTouchToolの3本指タップにてミドルクリックが使えると, ブラウザのリンクをタブで開きたい際に大変便利だ.

通常タブで開きたい場合には cmdキー+タップだと思うが,3本指タップだと片手のみでこれが可能である.

また,4本指下にスワイプでタブを閉じる設定や4本指でダブルタップで新しいタブを開く設定もするとすごく捗る.

 

f:id:yusuke0h:20131103200435p:plain

 

ただし,Mac OS X Mavericks にてミドルクリックが効かなかったのでその原因を調べてみた.

続きを読む

Rails application.html.erbにて変数を使う方法

 

Railsにおいてapplication.html.erbや_header.html.erbにて@current_user等の変数を用いたい場面があると思う.

直感的にはapplication_controller.rbにて何かすればいいように思うが,application.html.erbに対応するアクションもわからないし,どうすればよいのか悩むと思う.

その解決法は

 

http://stackoverflow.com/questions/6920897/ror-making-a-variable-available-to-application-html-erb-so-it-is-in-all-views-on

に書いてある.

 

classApplicationController<ActionController::Base
  before_filter :get_current_car
  def get_current_car
    @current_car=CarInfo.find(session[:car_info_id])
end
end

 

before_filterを使えばいい

 

これで_headerとかもok

 

こうすればすべての場面で変数を使用することができる.