ریشه در rails

من از این کد تو روت استفاده می کنم

 match ':controller(/:action(/:id))', :via =>[:post,:get]

حالا چه جوری این ادرس ر و درست کنم
www.site.com/user/mm580486/edit/profile
va:
www.site.com/admin/user/mm580486

کلا تا جایی که می تونی از استفاده از match پرهیز کن. match مربوط به خود ریلز هست و خوانایی کد رو بشدت پایین می آره.
در مورد سوالت هم یک مقدار واضح تر توضیح بده و بگو هدف اصلیت چیه

دومی برام مهمه چه جوری اون ادرس رو درست کنم با match

  • چه طور پس چه راهی شبیه این match هست که خوانا باشه

مثلا برای دومی:

get '/admin/user/:username', to: 'admin/user#show'
post '/admin/user/:username', to: 'admin/user#update'

البته من این ادرس ها و نوع درخواست رو با توجه به همون چیزی که دادی نوشتم.

الان من ۷ نا کنترلر دارم تو هر کذوم اگر ۵ تا متد باشه میشه ۳۵ تا
ینی من اینو ۳۵ بار بنویسم؟

البته می‌تونید از ترکیب resource ها و namespace برای خوانایی بهتر و مرتب‌شدن کد استفاده کنید. مثلا

namespace :admin do
  resources :users
end
2 پسندیده

کاره resource چیه ؟

همونطور که گفتم اون دو خط فقط نمونه بود و راه های خیلی بهتری هم هست . مثل پاسخی که @arvinje داده. اما به شدت پیشنهاد می کنم مبحث روتینگ در ریلز رو از مجموعه راهنمای ریلز مطالعه بفرمائید.

1 پسندیده

هفت‌تا روت به صورت پیشفرض می‌سازه. البته می‌تونید مشخص کنید کدوماشون باشن یا کدوما نباشن.
این راهنمای ساده و کاملیه
Rails Routing from the Outside In

1 پسندیده

@mm580486 دليل ديگه برای‌ پرهيز از match اينه كه كلا از رده خارج شده (deprecated) و احتمالا به زودی از ريلز حذف ميشه.
دونستن اينم بد نسيت كه route ريشه نيست، مسير هست. مثل مسير درخواست از http به كنترلر ها و اكشن ها.
ريشه ميشه root

1 پسندیده