我有一个注释模型,它可以包含图像链接附件(linktype =“image”或一些文本(linktype =“text))。当我显示注释时,显示方法根据链接类型而变化。一个例子是:
<% @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 %>
Run Code Online (Sandbox Code Playgroud)
我必须在站点中的几个不同视图中显示注释,因此我不想多次重复查看代码,而是希望将其放在一个位置并从不同的视图中引用它。
我应该在应用程序助手中执行此操作吗?如果是这样,我是否将显示代码(如上面的代码)直接放入助手中,还是有更好的方法?谢谢阅读。
为了重复与某些实体无关的视图代码(例如,不是users/show.html.erb),创建一个小部件文件夹并在其中写入您的部分内容。我放入了小部件导航栏等。
/app/views/widgets/widget1.html.erb
/app/views/widgets/widget2.html.erb
...
# some_view.html.erb
<%= render :partial => 'widgets/widget1' %>
Run Code Online (Sandbox Code Playgroud)
以抽象的方式,我区分了助手和这种部分:
| 归档时间: |
|
| 查看次数: |
322 次 |
| 最近记录: |