ruby on rails - रेलवे में गड़बड़ मार्गों को मजबूत करना 4. स्थैतिक लिंक पर यूआरएल को इंगित करने के लिए मार्गों को व्यवस्थित करने के लिए कैसे?



ruby-on-rails routing (0)

यहां रेल नब संगठनात्मक प्रश्न आता है:

क्या मौजूद है:

एक "रेलसी" लिंक ऐसा कुछ दिखाई देगा (पतला में)

span
  a href= signout_path

signout_path AuthController#signout signout_path अनुरूप है

इसलिए, मेरे अनुप्रयोगों में कई प्रकार के उपयोगकर्ता हैं - अग्निशमन, चीफ्स और कप्तान।

प्रत्येक के पास बहुत ही समान मार्ग हैं:

/dashboard
/dashboard/:date
( this is in case they want to see a previous date; 
  same dashboard, different data in the controller )
/account
/account/update
/entry/view
/entry/edit

प्रविष्टियां एक उपयोगकर्ता से हो सकती हैं या हो सकती हैं क्योंकि प्रविष्टियां किसी भी उपयोगकर्ता को दिखनी चाहिए (हालांकि प्रासंगिक क्रियाएं नहीं)

मार्गों की मेरी घृणित गंदगी पर एक नज़र डालें:

scope :firefighters do
    get '/dashboard'        => 'firefighters#dashboard'
    get '/dashboard/:date'  => 'firefighters#dashboard'
    get '/account'          => 'account#account'
    post '/account/update'  => 'firefighters#account_update'

    get '/account/change_password' => 'account#change_password'
    get '/account/change_cell' => 'account#change_cell'
    get '/account/change_email' => 'account#change_email'
    get '/account/change_notifications' => 'account#change_notifications'


    post '/account/update_cell' => 'account#update_cell'

    # post '/account/update_pass' => 'account#update_pass'
    # post '/account/update_cell' => 'account#update_cell'
    # post '/account/update_email' => 'account#update_email'
    # post '/account/update_notifications' => 'account#update_notifications'

    # get '/account/change_cell_number' => 'firefighters#account_change_cell_number'
    # post '/account/request_cell_change' => 'firefighters#account_request_cell_change'
    # post '/account/update_cell' => 'firefighters#account_update_cell'

    # get '/account/change_password' => 'firefighters#account_change_pass'
    # post '/account/update_password' => 'firefighters#account_update_pass'

    # get '/account/change_email' => 'firefighters#account_change_email'
    # post '/account/request_email_change' => 'firefighters#account_request_email_change'
    # post '/account/update_email' => 'firefighters#account_update_email'

    get '/approve'          => 'firefighters#approve'
    get '/set_tester'       => 'firefighters#set_tester'
  end
  scope :entries do
    post '/verify'          => 'entries#verify'
    post '/approve'         => 'entries#approve'
    post '/finalize'        => 'entries#finalize'
    post '/comment'         => 'entries#comment'
    post '/update'          => 'entries#update'
    get '/edit/:entry_id'   => 'entries#edit'
  end

मैंने दस लाख मार्गों को लिखने से बचने के लिए scope का इस्तेमाल किया। मैं resources :entries तहत Entry मार्गों को ले Entry resources :entries इस कारण से resources :entries

वर्तमान में, प्रत्येक उपयोगकर्ता प्रकार का अपना डैशबोर्ड पेज है, जिसमें थोड़ा बदलाव होता है, बस इसे काम करने के लिए

अभी अग्निशामकों, चीफों के लिए एक अलग dashboard.slim , account.slim आदि है, आप इसे प्राप्त करते हैं।

मैं कैसे चीजों को होना चाहता हूं

मैं उन सब पर शासन करने के लिए एक डैशबोर्ड चाहता हूं। हालांकि firefighters_dashboard_path जैसी लिंक बहुत उपयोगी नहीं है यदि आपके पास केवल एक दृश्य फ़ाइल है मैं प्रत्येक उपयोगकर्ता के लिए एक थोड़ा अलग डैशबोर्ड पृष्ठ बनाकर इस समस्या को हल करता हूं। यह गलत लगता है और बिल्कुल नहीं सूखे।

मैं मार्गों को कैसे व्यवस्थित कर सकता हूं ताकि एक डैशबोर्ड हो और उपयोगकर्ता के आधार पर, account_path जैसे लिंक फायर फाइटर के खाते में ले जा सकें, उदाहरण के लिए एक व्यवस्थापक का खाता न हो?

दूसरे शब्दों में, मैं कप्तान के रूप में प्रवेश करता हूं, मेरे खाते का लिंक site.com/account होना चाहिए। मैं प्रबंधक के रूप में प्रवेश करता हूं, प्रबंधन के लिए मेरा लिंक 'site.com/managing' होना चाहिए। सत्र में "पहचान" सहेजना पागलपन है

यह थोड़ा सा लेना है, पाठ की दीवार के लिए माफ़ी मांगी है लेकिन मदद की बहुत सराहना की जाएगी





code-organization