نعم ، إنه ليس على المجموعة ، إنه على عضو
collection do
get :somethingelse
end
member do
get :people
end
سؤال
أواجه مشاكل في إعداد المسار الصحيح في ملف مساراتي. لدي وحدة تحكم للأحداث. ضمن وحدة التحكم في الأحداث ، لديّ إجراء يسمى "الأشخاص" يشبه هذا إلى حد ما:
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])`