تعد Discourse Docs هي السبب الرئيسي لاختياري استخدام Discourse بدلاً من برامج المنتديات الأخرى. ومع ذلك، فإن بها عيبًا رئيسيًا واحدًا بالنسبة لي - افتراضيًا، يتم الفرز حسب النشاط. أود إزالة القدرة على الفرز حسب النشاط تمامًا، ولكن لا يمكنني معرفة كيفية القيام بذلك.
لقد وجدت هذا الجزء من الكود، وقمت بإزالة عبارة elsif لفرز النشاط ولم يساعد ذلك.
if @filters[:order] == "title"
if @filters[:ascending].present?
results = results.reorder('topics.title')
else
results = results.reorder('topics.title DESC')
end
elsif @filters[:order] == "activity"
if @filters[:ascending].present?
results = results.reorder('topics.last_posted_at')
else
results = results.reorder('topics.last_posted_at DESC')
end
end
لقد قمت بنفس الشيء في هذا الملف ولا يزال يوفر نفس قدرات الفرز.
context 'when ordering results' do
context 'by title' do
it 'should return the list ordered descending' do
get "/docs.json?order=title"
expect(response.status).to eq(200)
json = response.parsed_body
topics = json['topics']['topic_list']['topics']
expect(topics[0]['id']).to eq(topic2.id)
expect(topics[1]['id']).to eq(topic.id)
end
it 'should return the list ordered ascending with an additional parameter' do
get "/docs.json?order=title&ascending=true"
expect(response.status).to eq(200)
json = response.parsed_body
topics = json['topics']['topic_list']['topics']
expect(topics[0]['id']).to eq(topic.id)
expect(topics[1]['id']).to eq(topic2.id)
end
end
context 'by date' do
before do
topic2.update(last_posted_at: Time.zone.now + 100)
end
it 'should return the list ordered descending' do
get "/docs.json?order=activity"
expect(response.status).to eq(200)
json = response.parsed_body
topics = json['topics']['topic_list']['topics']
expect(topics[0]['id']).to eq(topic.id)
expect(topics[1]['id']).to eq(topic2.id)
end
it 'should return the list ordered ascending with an additional parameter' do
get "/docs.json?order=activity&ascending=true"
expect(response.status).to eq(200)
json = response.parsed_body
topics = json['topics']['topic_list']['topics']
expect(topics[0]['id']).to eq(topic2.id)
expect(topics[1]['id']).to eq(topic.id)
end
end
end
لقد قمت بإجراء التعديلات مباشرة في الملف على الخادم، وكذلك في نسخة مستنسخة من Discourse Docs التي قمت بتثبيتها.
هل لدى أي شخص أي نصائح؟ لقد اعتقدت حقًا أنها ستكون مهمة تستغرق 3 دقائق ولكنني قضيت ساعات عديدة في هذا الآن…
شكرا!