3

モデルでヘッダーから直接値を取得する方法があるのだろうかと思っています。

# location.rb
class Location < ActiveRecord::Base
  puts request.header['key']
end

私が使用するコントローラーに、ヘッダーに値が格納されているとしましょうrequest.headers['key']。それはうまくいきましたが、モデルにはそうではありません

4

1 に答える 1

8

コメントが指摘しているように、いいえ、直接ではありません。オブジェクトはrequestコントローラーでのみ使用できます。

ただし、とにかくコントローラーでモデルをインスタンス化する必要があるため、次のようなことをしても問題はありません。

# some_controller.rb
def some_action
  @location = Location.new(name: request.headers['key'])
  ...
end
于 2012-08-01T16:28:08.453 に答える