[前][次][番号順一覧][スレッド一覧]

rails:3168

From: 大石司 <tsukasa.oishi@g...>
Date: Thu, 27 Aug 2009 00:35:58 +0900
Subject: [rails:3168] Re: before_filter がうまく動かない

おおいしつかさと申します。

> 1.次のように記述し、ndividual_requireds を application_helper.rb に定義しました。
>  class UsersController < ApplicationController
>    # Be sure to include AuthenticationSystem in Application Controller instead
>    include AuthenticatedSystem
>
>    before_filter :login_required
>    before_filter :individual_requireds
>
>  結果は undefined method `individual_required' for 。。。
>  となりました。
ApplicationControllerで、helper :all などを使ってhelperのincludeはされていますか?
viewで使わないようなメソッドなら、helperよりも素直にApplicationControllerのprivateメソッドとして
定義すればいいと思います。

> 2.users_controller.rbに ndividual_required を定義しました。
>  def individual_required  # 個人IDの人。スーパ、承認者、ゲスト以外の人
>     logger.debug("個人IDの人 #{(current_user.rolls.map(&:roll_no) -
>                   [0,999998,999999]).size>0}")
>     (current_user.rolls.map(&:roll_no) - [0,999998,999999]).size > 0
>  end
>
>  log には 「個人IDの人 false」と記録されているにもかかわらず、実行されて
>  しまいます。
Railsのバージョンによって挙動が異なります。
before_filterでfalseを返したときに処理を中断するのは1.x系だったと思います。
Rails2.x系はbefore_filter内でrender やredirect_toが呼ばれたときのみ処理を中断します。

-----------------------------------------
       大石 司     OISHI Tsukasa
       tsukasa.oishi@g...
   http://www.kaeruspoon.net/
-----------------------------------------

--
ML: rails@r...
使い方: http://QuickML.com/

[前][次][番号順一覧][スレッド一覧]

   @  3165 2009-08-26 16:36 [byplayer100@g...    ] 参加します                              
      3167 2009-08-26 17:15 ┗[dezawa@a...         ] before_filter がうまく動かない        
->    3168 2009-08-26 17:35  ┗[tsukasa.oishi@g...  ]                                     
      3169 2009-08-27 03:33   ┗[dezawa@a...         ]