2011-01-31 13 views
5

से devise current_user तक कैसे पहुंचे, बस मेरे ऐप प्रमाणीकरण के लिए तैयार होने के साथ शुरू करना शुरू करें, हालांकि मॉडल से current_user तक पहुंचने में परेशानी हो रही है। मुझे नियंत्रक से इसका उपयोग करने में कोई समस्या नहीं है।मॉडल

मेरे परिदृश्य के लिए मुझे वर्तमान उपयोगकर्ता आईडी को ट्रैक रखने के लिए ब्लॉग पोस्ट संपादित करने की आवश्यकता है, जिसे मैं उपयोगकर्ता आईडी को पहले_सेव फ़िल्टर से सहेजता हूं।

आपकी मदद की सराहना करें!

धन्यवाद

उत्तर

3

आप इसे केवल पैरामीटर में ही पास कर सकते हैं।

class SomeModel 
    def my_nifty_method(user) 
    end 
end 
नियंत्रक में

:

class SomeModelsController < ApplicationController 
    def some_method 
    sm = SomeModel.new 
    sm.my_nifty_method(current_user) 
    end 
end 
-1

आप अपने मॉडल में यह करने के लिए सक्षम होना चाहिए। 'c' यहां मॉडल ऑब्जेक्ट है और इसे बनाने से पहले उपयोगकर्ता_id विशेषता सेट करना, या अपने मामले में सहेजना है।

before_create {|c| c.user_id = Authorization.current_user.id} 

मैं आरओआर के लिए कुछ नया हूं इसलिए चेतावनी दीजिये।

-5

आप मॉडल में उस विधि तक पहुंचने का प्रयास क्यों कर रहे हैं? आप self.id (मॉडल के भीतर) के माध्यम से आईडी विशेषताओं तक पहुंच सकते हैं

+0

क्या मैं नकारात्मक वोट पूछ सकता हूं? – eveevans

+1

'self.id' वर्तमान उदाहरण की आईडी देता है, न कि' current_user' –

+0

हां, और सवाल कहता है: ".. मुझे वर्तमान उपयोगकर्ता आईडी प्राप्त करने की आवश्यकता है .." – eveevans