我有一個日曆頁面,顯示一個人整個月的例程。在頂部,我有前個月和下個月的按鈕。點擊時,我會對change_date操作進行AJAX調用,以更新日期並找到新的例程。當調用change_date.js.erb時,是否必須編寫代碼來再次更改日常操作的內容?這似乎違反了DRY。 有沒有什麼辦法可以重新使用我用來在初始加載時填充頁面的偏分量以重新填充新值的頁面?Rails:如何使用AJAX呈現網頁並保持DRY
1
A
回答
0
當然有。就像您在html模板中一樣使用render
。通常,支持AJAX和普通電話的設置看起來是這樣的(當然名字似地猜測):
# controller
def change_date
@dates = Date.where(:date => params[:date])
respond_to do |format|
format.html
format.js
end
end
# change_date.html.erb
<ul id="calendar">
<%= render @dates %>
</ul>
# change_date.js.erb
$("#calendar").html("<%= escape_javascript(render @dates) %>");
# _date.html.erb
<li><%= date.date %></li>
所以你看,你可以簡單地使用相同的部分在這兩種情形。
而只是一個建議:根據您的設置也可能是更舒適的不具有在控制器的另一種方法,而是利用show
方法進行操作,其根據在這種情況下,查詢參數......
0
相關問題
- 1. 如何保持Rails應用程序DRY
- 2. 如何在使用Javascript和ERB模板時保持DRY(Rails)
- 3. Rails:保持用戶欺騙檢查DRY
- 4. 如何使用android jdk呈現網頁?
- 5. 如何保持DRY驗證?
- 6. Rails 3.2.1使用AJAX時redirect_to不呈現頁面
- 7. 如何在Ruby on Rails模型中保持DRY?
- 8. Rails路由和如何保持類別視圖DRY?
- 9. 在使用JSData和Sequelize時保持DRY
- 10. 如何使用Ajax在rails中正確呈現集合
- 11. 如何保持URL路由DRY
- 12. 如何使用AJAX呈現fullCalendar
- 13. 如何保持單元測試DRY並減少斷言
- 14. 如何使用Django模型字段定義保持DRY
- 15. 如何使用私有方法保持DRY?
- 16. 如何保持網站更新的AJAX
- 17. NodeJS:保持庫文件DRY
- 18. 保持RSpec的測試DRY
- 19. Django jquery .load(){%url%}保持DRY
- 20. 保持named_scope擴展DRY
- 21. 如何使用Spring呈現頁面?
- 22. Rails API - 保持應用程序控制器方法DRY
- 23. 如何保持乾燥的Ajax網頁表單解決方案
- 24. 用phantomjs呈現javascript網頁頁
- 25. 如何使用ajax通過網址發佈消息並保持換行符?
- 26. 如何使用鎳框架呈現網頁?
- 27. 如何使用htaccess呈現不同網址的相同頁面
- 28. 如何使用actionmailer呈現電子郵件中的網頁
- 29. Rails DRY機制將Flash消息呈現給JSON響應
- 30. 保持當前頁面呈現,直到下一頁加載
確實。謝謝,我對JQuery沒有太多經驗,但似乎.html()方法也可以替換舊的內容。 – user1742188