के बजाय उपयोगकर्ता नाम के लिए रूट मार्ग मैं/उपयोगकर्ता/1/उपयोगकर्ता नाम से रेल मार्गों को बदलने की कोशिश कर रहा हूं। मैंने वर्तमान में इसे सेट अप किया है, इसलिए यह दिखाने और संपादित करने के कार्यों के लिए काम करता है। वास्तविक मुद्दा यह है कि जब मैं का उपयोग करके उपयोगकर्ता को अद्यतन करने के लिए जाना:आईडी
<%= form_for @user do |f|%>
यह कभी नहीं अद्यतन, क्योंकि अद्यतन कार्रवाई करने के लिए/उपयोगकर्ताओं/रूट किया जाता है: आईडी। क्या इसका मार्ग बनाने का कोई तरीका है ताकि यह/उपयोगकर्ता नाम के लिए काम करे? (जो मार्ग है जो मेरे रूपों में कार्रवाई के रूप में प्रस्तुत कर रहा है)। मैं थोड़ी देर के लिए इस पर अपने सिर खरोंच कर रहा हूँ।
संपादित करें:
मुद्दा उपयोगकर्ता नाम करने के लिए मार्ग नहीं है, कि इसे सही ढंग से काम कर रहे। मुद्दा यह है कि फॉर्म अपडेट के लिए उपयोगकर्ता नाम/उपयोगकर्ता नाम है, हालांकि उपयोगकर्ताओं के लिए अद्यतन मार्ग अभी भी/उपयोगकर्ता/आईडी है:/id।
मैं इस के लिए मेरे मार्गों को अद्यतन करने की कोशिश की, लेकिन कोई लाभ नहीं हुआ:
match '/:id', :to => "users#show", :as => :user
match '/:id', :to => "users#update", :as => :user, :via => :put
match '/:id', :to => "users#destroy", :as => :user, :via => :delete
संपादित करें:
रवींद्र!
match '/:id', :to => "users#show", :as => :user, :via => :get
बेहतर होगा: मार्गों च में username' इले? क्योंकि परम को अब 'आईडी' नहीं कहा जाना चाहिए, लेकिन इसके बजाय इसे 'उपयोगकर्ता नाम' कहा जाना चाहिए –