سؤال

أواجه مشاكل في إعداد المسار الصحيح في ملف مساراتي. لدي وحدة تحكم للأحداث. ضمن وحدة التحكم في الأحداث ، لديّ إجراء يسمى "الأشخاص" يشبه هذا إلى حد ما:

def people
    @people = Event.find_by_sql(["sql that joins three tables to get the data I need;", params[:id]])
end

في طرقي:

resources :events do
    collection do
      get :somethingelse
      get :people
    end
end

إذا قمت بترميز params الخاص بي [: id] قبل "find_by_sql" ، فهذا يعمل بشكل جيد عندما أزور ".../أحداث/أشخاص" ، ومع ذلك ، إذا حاولت القيام بشيء مثل ".../أحداث/5/أشخاص" أحصل على خطأ "No Route Matches [Get]/Events/5/People ".

أنا متأكد من أنني أفتقد شيئًا بسيطًا في ملف طرقي. هل يمكن لأي شخص أن يزودني بالجزء الذي أفتقده؟

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

المحلول

نعم ، إنه ليس على المجموعة ، إنه على عضو

collection do
  get :somethingelse
end
member do
  get :people
end

نصائح أخرى

يمكنك تجربة هذا النهج:

id = 1
User.find_by_sql(['select * from users where id = ?', id])`
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top