سؤال

يقوم حاليًا بتطوير تطبيق ويب للهاتف المحمول RoR لعرض معلومات حول أماكن معينة.

دعونا نسمي هذه الأماكن "المنشآت".يحتوي كل تثبيت على "مكان" واحد على الأقل، وهو مثيل محدد للتثبيت.لذلك، على سبيل المثال، يمكن أن يكون التثبيت أحد منتزهات المدينة، ويمكن أن يكون أحد الأماكن المقابلة له هو المنتزه أثناء حفل موسيقي أو حدث.إذا كان هذا المثال مربكًا، فتجاهله، فلا يهم كثيرًا.

تتم استضافة البيانات الخاصة بهذه التثبيتات والأماكن المقابلة لها على Amazon Web Service S3 ككائنات json.أستخدم HTTParty للقراءة في كائنات AWS S3 json.أنا أقرأهم حاليًا على النحو التالي:

في وحدة تحكم التطبيق لدي:

inlcude HTTParty
base_uri 's3.amazonaws.com/our_bucket'
before_filter :set_up_httparty

def set_up_httparty
  @installation = "INSTALLATION"
  @venue = "VENUE"
  @dir_url = "/#{@installation}/#{@venue}/"
end

في وحدات التحكم المقابلة الخاصة بي، حيث أحصل على معلومات منفصلة، ​​لدي:

response =
  ApplicationController.get("#{@dir_url}/ConstantUniqueName.json")

أقوم حاليًا بترميز قيم التثبيت والمكان للإشارة إلى مجموعة محددة من المجلدات.يعمل هذا بشكل رائع، ولكن يجب أن أكون قادرًا على استيعاب هذه القيم من عنوان url كما يلي:

www.themobilewebapp.com/INSTALLATION/VENUE/index

الآن أنا متأكد من أنه من المرجح أن يتم تمرير هذه القيم باستخدام معلمات مثل:

www.themobilewebapp.com/index?installtion=INSTALLATION&venue=VENUE

ولكن إذا كان ذلك ممكنًا، أود إعداد عنوان URL الخاص بي بالطريقة السابقة.أحتاج إلى أن يكون عنوان URL ملائمًا للمستخدمين لوضعه بأنفسهم وأن تكون رموز QRC تشير مباشرةً إلى تثبيت محدد ومكان مطابق.

إذا لم يكن من الممكن أن تكون قادرًا على القيام بشيء مثل www.mobwebapp.com/INSTALL/VEN/index، فهل من الممكن إعداد نطاقات فرعية لكل مكان ثم سحب هذا المكان كسلسلة؟

هو موضع تقدير أي مساعدة!!شكرًا!

هل كانت مفيدة؟

المحلول

إذا وضعت هذا في الخاص بك config/routes.rb الملف فستتمكن من استخدام نمط URL الذي تريده:

match ':installation/:venue/index', :controller => :venue, :action => :index
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top