假设我在产品集合中有一个mongodb文档:
{
"_id" : ObjectId("51b1eac0311b6dd93a000001"),
"name" : "Apple",
"price" : "34.45"
}
products_controller.rb def show 部分:
def show
@product = Product.find(params[:id])
end
我想在 show.html.erb 中代码如下所示:
<% @product.each do |f|%>
<p>f.label</p> # this is only an image code
<p>f.value</p> # this is only an image code
<% end %>
Rails 3第2行和第3行的代码应该如何以通用方式显示,以便显示如何? :
name: Apple
price: 34.45
字段数可以是20,所以我不想为20个字段编写相同的代码。
我使用Rails 3和Mongoid。我认为这不是一个特定于mongodb的问题。
答案 0 :(得分:0)
试试这个:
foreach (var item in YourcollectionName)
{
var name = item.name;
var price = item.price;
}
答案 1 :(得分:0)
Mongoid模型有一个attributes
方法,它返回属性的哈希值。如果迭代该哈希,您将得到每个条目的名称和值。
例如
<% @product.attributes.each do |name, value| %>
<p>
<%= name%> : <%= value %>
</p>
<% end %>
您可能需要一些更复杂的格式代码,以获得您可能获得的所有类型的值(日期,数组,哈希等)的漂亮输出。