在View中显示特定记录

时间:2014-10-31 18:28:11

标签: ruby-on-rails ruby rails-activerecord

我有一个模型页面,它有很多参数。我想根据“名称”列的值显示特定的参数。最好的方法是什么?

我正在将所有Page.parametes转换为hash param[:name] = value,因此在View中我可以使用<%= param[:name] %>,但这在模型代码中看起来不太好。

def self.get_real(id)
   params = {}
   data = Parameter.where(page_id: id)
   data.each do |var|
     params[var.parameter.to_sym] = var.value
  end
  params
end

1 个答案:

答案 0 :(得分:0)

如果你有页面对象的id,那么:

控制器中的

def show # or whatever your action may be
  @page_parameters = Page.find(params[:id]).parameters
end
视图中的

<% @page_parameters.each do |p| %>
  <%= p.name %> : <%= p.value %>
<% end %>

我没有看到将对象转换为基元的原因(在这种情况下)。