SORU
31 Mart 2011, PERŞEMBE


parametreleri ile before_filter

böyle bir şey yapan bir yöntem var:

    before_filter :authenticate_rights, :only => [:show]

    def authenticate_rights
      project = Project.find(params[:id])
      redirect_to signin_path unless project.hidden
    end

ben de bazı diğer Denetleyicileri bu yöntemi kullanmak istiyorum, application_controller bulunan bir yardımcı yöntem kopyaladım.

bu sorun, bazı denetleyicileri, proje kimliği :id sembol ama f değil.e. 4* *:id mevcut (başka bir model) vardır bir de. (ve

bu sorunu nasıl çözersin? before_filter eylem için bir parametre eklemek için bir seçenek (doğru param geçirmek için) var mı?

tüm ipuçları için teşekkürler

CEVAP
31 Mart 2011, PERŞEMBE


Bu şekilde yapardım:

before_filter { |c| c.authenticate_rights correct_id_here }

def authenticate_rights(project_id)
  project = Project.find(project_id)
  redirect_to signin_path unless project.hidden
end

Correct_id_here ilgili kimliğidir erişim bir Proje.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • 99being99

    99being99

    2 EYLÜL 2008
  • cosmicrocketman

    cosmicrocket

    17 NİSAN 2006
  • MrMimoB

    MrMimoB

    11 NİSAN 2011