2017-04-14 49 views
-1

我正在使用rails 4.2.7.1,ruby 2.3.1。我有一個包含添加按鈕的着陸頁,點擊後會彈出一個新窗口(在新的URL中)。這個新窗口中有一個窗體。我希望登錄頁面有一個表格,每次提交彈出窗體時都會動態填充表格(基本上會重新指向登錄頁面並更新表格)。關於在提交表單時動態更新表格視圖

我們有一個內部框架來創建HTML視圖爲ruby對象(例如,一個表對象或面板對象)。這些是在model類中創建的,並且具有使其渲染的方法(實質上使用ActionView Helper內的content_tag.erb/HAML渲染最終的HTML)。

現在,問題是controller總是在每次頁面加載時最終在model類中調用這些方法。由於這個原因,這些對象不會保留以前的值。我通過使用類變量解決了這個問題,但有沒有更好的方法來處理這個問題?我還沒有探索rails caching呢。

我很樂意傾聽那些不遵循上述模型的解決方案。

感謝

回答

0

我們已經內部框架,用於創建HTML視圖作爲Ruby對象 (例如,表對象或面板對象)。這些在模型類中創建爲 ,並具有方法來啓用它們的渲染 (實際上使用ActionView Helper中的content_tag來渲染012erc來自.erb/HAML的最終HTML)。

我不想聽起來粗魯,但爲什麼?這似乎是一個巨大的過度複雜和錯誤的來源。

無論如何,

你會想看看Websockets。如果你可以升級到Rails 5,ActionCable可能是答案。否則,您可以使用簡單的setInterval更新視圖。

+0

謝謝,我會研究Websockets和setInterval。 Rails 5不是一個選項。框架適用於我相信的應用程序的共同外觀和感覺。 – linuxNoob

+0

@linuxNoob作爲一個說明actioncable是一個獨立的圖書館之前,鐵軌消耗(導軌5)還有其他教程在那裏實施到鐵路4,但這裏是一個啓發http://khalsa.guru/posts/17。此外,具有任何UI知識的模型看起來像是一個緊耦合設計缺陷,也許看看你是否可以在失控之前糾正它(如果還沒有的話) – engineersmnky

+0

@engineersmnky謝謝,我會研究一下。我認爲我沒有控制權來改變設計,因爲這裏所遵循的格式是非常重要的,另外我對web開發人員來說是質疑這種大規模決策的新手。 – linuxNoob