2010-07-20 9 views
1

我有一個註釋模型,它可以包含圖像鏈接附件(linktype =「image」或某些文本(linktype =「text)」。當顯示註釋時,顯示方法根據鏈接類型而變化。例子是:在Ruby on Rails應用程序中放置視圖重複顯示代碼的位置?

<% @notes.each do |q| %> 
    <h2 class="title"><%= q.name %></h2> 
    <% if q.linktype == "image"%> 
     <img src="<%= q.link %>" /> 
    <% elsif q.linktype == "text"%> 
     <%= q.text %> 
    <% end %> 
<% emd %> 

我已經在我的網站的幾個不同的視圖來顯示的音符,所以不是必須多次重複觀看的代碼,我想把它在一個地方,並從引用它不同的意見

我應該在應用程序助手中這樣做嗎?如果是這樣,是否將顯示代碼像上面的代碼一樣直接放到助手中,還是有更好的方法?感謝閱讀。

回答

4

對於重複與某個實體無關的視圖代碼(不是,例如users/show.html.erb),創建一個小部件文件夾並在其中寫入部分文件夾。我把我的小工具導航欄等。

/app/views/widgets/widget1.html.erb 
/app/views/widgets/widget2.html.erb 
... 

# some_view.html.erb 
<%= render :partial => 'widgets/widget1' %> 

在一個抽象的方式,我做而這種泛音既然這麼助手之間的區別:

  • 助手是視圖相關的邏輯(迭代以特殊的方式等)
  • 查看小部件是數據圖像,他們只是與數據匹配
+0

感謝您的回答。我需要視圖代碼的一些頁面,我實際上將它用作jquery插件的輸入。小部件的渲染是否會將小部件代碼放入文件中(如果我用jquery代碼包裝它,它應該會起作用)? – ben 2010-07-20 10:20:13

+0

你應該更明確,也許是另一個問題。 – clyfe 2010-07-20 11:47:14

相關問題