ما هو عكس URL_FOR في القضبان؟ وظيفة تأخذ المسار وينشئ المسار المفسر؟

StackOverflow https://stackoverflow.com/questions/2222522

سؤال

الدماغ مقلي قليلا .... كيف يمكنني الحصول على تجزئة من: تحكم: العمل من urrative_path؟

هذا هو أساسا عكس URL_FOR. في المثال أدناه، "Someh_Function" هو اسم وظيفة الغموض الذي أبحث عنه ... أعرف أنه من السهل، فقط لا يمكن أن نتذكر أو يبدو أنه قادر على العثور عليه في المستندات.

مثل ذلك:

some_function('/posts/1/edit')
=> {:controller => 'posts', :action => 'edit', :id => '1'}
هل كانت مفيدة؟

المحلول

يحتوي RSPEC على طريقة "params_for"، والتي تستخدم طرق توجيه وحدة تحكم الحركة لتحليل المسارات مع الأساليب في الطرق.

هم أكثر قوة قليلا من هذا، لكنها تغلي إلى:

def params_for(path, method)
  params = ActionController::Routing::Routes.recognize_path(path, :method => method)
end

نصائح أخرى

مع القضبان 3 أفضل طريقة هي استخدام

Rails.application.routes.recognize_path('/posts/1/edit')
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top