我的應用程序會生成用戶的日曆,其中包含可用於預約約會的插槽。它會自動檢測訪客的時區,並在訪客的時區顯示用戶的可用性。在Rails部分中生成鏈接的最有效方法是什麼?
由於檢測到的時區用於渲染顯示,因此片段緩存將不起作用。
該視圖生成100多個鏈接,訪問者可以選擇該鏈接預訂約會的時間段。基準測試顯示,生成鏈接是視圖中速度最慢的部分 - 每個鏈接需要大約0.5ms。
通過ERB循環並生成超鏈接的最有效方法是什麼?
我們開始使用HTML代替link_to Rails幫助程序 - 開發速度提高了2倍,但生產率提高了2倍 - 我們的結論是Heroku必須優化這些Rails幫助程序。
<a href="/<%= @profile.profile_url %>/
appointments_calendars/<%= @appointments_calendar.id %>/
booked_events/new?
timezone_name=<%= @timezone.name %>&
event_slot_id=<%= event_id %>"
class="left-slot open-slot" rel="nofollow">
<%= timeslot.strftime("%l:%M%p") %></a>
其中 @ profile.profile_url字符串,@ appointments_calendar.id是從ActiveRecord對象的整數。 @ timezone.name是一個字符串。它們不會在循環中更改 - 也就是說,它們在頁面呈現時不會更改而生成。
事項標識是一個整數,時隙是時間。循環中的每個鏈接都不相同。
我想知道是否有一種最佳的方式來在Ruby/Rails中根據字符串緩衝的工作原理生成此HTML鏈接。
的循環是每天運行的整數範圍,
(first_hour..last_hour).step(1.hour).each
另外,有一個更快的方式在不依賴於僱員再培訓局的Rails這樣做呢?
你是如何定義'event_id'和'timeslot'每次? – tyler