show.html.erb格式的帮助

时间:2010-07-21 01:38:58

标签: ruby-on-rails web

好的,所以我正在为我以前经营动物控制业务的老板建立一个网站。我的index.html.erb由以下代码组成:

<div id="bats"><img alt="Big brown bat" src="/images/bigbrown.png" style="position: relative; border: 0.25em outset;" />
<p class="text_center"><%= link_to @animals[0].name, animal_path(@animals[0]) %></p></div>

<div id="squirrel"><img alt="Grey Squirrel" src="/images/grey_squirrel.png" style="position: relative; border: 0.25em outset;" />
<p class="text_center"><%= link_to @animals[1].name, animal_path(@animals[1]) %></p></div>

<div id="flying"><img alt="Flying Squirrel" src="/images/flying-squirrel.png" style="position: relative; border: 0.25em outset;"/>
<p class="text_center"><%= link_to @animals[2].name, animal_path(@animals[2]) %></p></div>

<div id ="groundhog"><img alt="Groundhog" src="/images/groundhog.png" style="position: relative; border: 0.25em outset;" />
<p class="text_center"><%= link_to @animals[3].name, animal_path(@animals[3]) %></p></div>

页面大多是静态的,有很多文字,所以我想我的两个问题是,我是否应该将动物放在数据库中(这只是他们的名字)? 如果我将它们保存在数据库中,我应该如何格式化show.html.erb,这将更详细地介绍从我的index.html.erb页面中选择的动物?使用if,else if等...或制作特定于每只动物的页面,并在选择动物时重定向?

提前致谢!

1 个答案:

答案 0 :(得分:1)

如果我要重做您的示例页面,我会为数据库中的每只动物添加一个short_description,long_description和image_url,并执行以下操作:

<% @animals.each do |animal| %>
  <div id="animal_<%= animal.id %>"><img alt="<%= animal.short_description %>" src="<%= animal.image_url %>" style="position: relative; border: 0.25em outset;" />
  <p class="text_center"><%= link_to animal.name, animal_path(animal) %></p></div>
<% end %>

生成它。

long_description将提供更多细节。如果有足够的信息来填充关于每只动物的页面,我会使用单独的显示页面。