根据从数据库驱动的内容渲染页面?

时间:2013-05-30 07:20:20

标签: ruby-on-rails ruby

我目前正在尝试学习RoR,通常我是在Node.js中开发的,所以我的意思是基于从数据库驱动的内容呈现页面是:

如果我有一个标题,一个正文,也许还有一个日期,我怎样才能遍历一个表格,并且根据该表格将每个内容加载到页面?在Node.js(Jade模板语言)中,它将类似于:

for item in array
h2= item.title
p=  item.date
p=  item.body

希望我清楚明白,谢谢!

(它不一定是一个数组,它恰好在Node中,无论最有效的方式是什么)

4 个答案:

答案 0 :(得分:1)

您是否只想循环访问对象并显示数据?希望我没有误解你,但你可以访问这样的数据,例如:

array = YourActiveRecordObject.all 

array.each do |item|
   item.title
   item.date
   item.body
end

答案 1 :(得分:0)

您可以在haml视图中使用它。

- array.each do |item|

  %h2= item.title
  %p= item.date
  %p= item.body

答案 2 :(得分:0)

Rails使用模型 - 视图 - 控制器组织结构MVC。您正在寻找的是特定资源的视图。例如,如果您构建了一个名为Item的资源,您可以转到app / views / items / index.html.erb并找到它:

<% @items.each do |i| %>
  <h2><%= i.title %></h2>
  <p><%= i.date %></p>
  <p><%= i.body %></p>
<% end %>

默认情况下,Rails使用ERB模板引擎,但还有其他可用。

答案 3 :(得分:0)

在控制器中,您将为查询返回到模型的数组定义变量@items

@items = itemModel.all
#or whatever the query you need for those items are

然后在视图中,您将遍历它们。 haml会是:

- @items.each do |item|
  %h2
    = item.title
  %p
    = item.date
  %p
    = item.body