2010-12-15 63 views
1

我很好奇最近DRY視圖的最新狀態。我有一個應用程序已經進行了三年半以上的發展,而現在的視圖層並不是一個快樂的地方。Rails:基於角色的用戶的DRY視圖

首先是一個小背景,我有一個由幾個不同用戶組使用的應用程序,我需要添加更多。不同用戶看到的內容有很大的重疊,但仍然有很多是每個組獨有的。用戶限制他們看到的內容和詳細程度。這是您的基於標準角色的網絡應用程序。

目前該應用程序正在使用局部變量(包含局部變量)和局部變量,局部變量使用局部變量,content_for塊和幫助程序以及大量重複。

我在找什麼,人們爲了保持自己的意見幹什麼?

我開始看着Cells(http://cells.rubyforge.org/),但我想知道,還有什麼解決這個問題。

你對複雜和基於角色的視圖使用什麼?

+0

我不認爲一般的答案存在。 – Lichtamberg 2010-12-15 23:48:52

回答

1

我面臨同樣的問題/挑戰。我已經開始實現Cell,但遇到了一堵牆,'content_for'不能以您期望的方式得到支持,並且無法使用單元格視圖將內容添加到主佈局。

這是Rails中的限制/ Cell使用Rails的方式,看起來並不是真的可以繞過。

如果你能忍受這個限制,我認爲這是重複內容塊的最佳解決方案。

稍微offtopic爲我上述問題的最佳方案是:

如果整個小區需要在不同的內容塊可以用來得到一個不錯的API以下被渲染:

將下面的代碼在application_helper.rb:

def render_cell_for(id, cell, action, options = nil, &block) 
    content_for id do 
    render_cell(cell, action, options, &block) 
    end 
end 

使用

<%=render_cell_for(:content_for, :cell, :action) %> 

在您的視圖中在塊的內容中呈現。