2014年11月3日月曜日

railsのbefore_actionでconcernのmoduleに引数を渡す件

railsのbefore_actionでconcernのmoduleメソッドに引数を渡したいので調べました。

railsのバージョンはこれで試してます。
$ bundle exec rails -v
Rails 4.1.5

controllerとmodule
・controller抜粋
include UserAgent
    before_action -> {user_agent_check(request.headers[:HTTP_USER_AGENT])}

・module
module UserAgent
  def user_agent_check(user_agent)
    puts "____#{user_agent}____"
  end
end 

検証にjavaのクライアントで実行したので、ログに以下が表示されました。
ログ
____Apache-HttpClient/4.3.3 (java 1.5)____

before_actionにはブロックを渡せるのでそれを使って引数を渡す形です。

参考URL
http://o.inchiki.jp/obbr/213

0 件のコメント:

コメントを投稿