आप प्राप्त कर सकते हैं प्रति-संसाधन पहचानकर्ता घन संसाधन उदाहरण पर member_scope और nested_scope विधियों को फिर से परिभाषित करके stomization।
resources :users do
@scope[:scope_level_resource].tap do |u|
def u.member_scope
"#{path}/:username"
end
def u.nested_scope
"#{path}/:#{singular}_username"
# member_scope also usable here, assuming username will be nowhere in nested routes.
end
end
end
नीचे #nested_scope के बारे में प्रश्न के बारे में: यह इस्तेमाल किया जाता है जब आप मार्ग में कुछ इस तरह करते हैं:
resources :members do
resources :playlists, only: :index
end
फिर, परम होगा: उपयोगकर्ता नाम: के बजाय सिर्फ member_username। संग्रह को इकट्ठा करते समय यह प्लेलिस्ट नियंत्रक में उपयोगी है ताकि आप अनुरोध के दायरे का अनुमान लगा सकें।
ठीक है, मैंने थोड़ा सा जोड़ा, लेकिन मुझे निम्न त्रुटि मिल रही है: http://chigstuff.com/uploads/user_error.jpg – Chiggins
कभी नहीं, मुझे मेरी समस्या मिली। मेरी शो विधि "@user = user.find (: पैराम्स [: id]) कर रही थी", मैंने इसे उपयोगकर्ता नाम से खोजने के लिए चारों ओर बदल दिया। – Chiggins
अपने कंट्रोलर में कोड बदलें: User.find (params [: id]) लेकिन User.find_first_by_username (पैराम्स [: id]) या to_param के बॉडी को "# {self.id} - # {self.username}" में बदलें –