Ruby on Rails:获取模型的属性集合

fut*_*ked 3 model ruby-on-rails helpers

我有一个具有很多属性的模型,并构建了一系列页面来收集所有相关数据.在最后一页中,我想向用户显示所有收集的数据.

我可以通过手动键入每个属性的所有标签和值来创建此页面,但我希望这种繁琐和重复的任务已经由某人解决,以便在3-4行代码中.

在这个阶段,我只是原型设计,所以这不需要看起来很好.

任何人都有关于如何在屏幕上快速打印模型的所有属性的任何建议?

我在想这样的事情:

如果@my_data_model是我想要打印属性的实例变量,那么:

<%= show_attributes @my_data_model %>
Run Code Online (Sandbox Code Playgroud)

将使用其标签输出属性值.

谢谢你的期待.

Sye*_*lam 5

我正在为我的一个项目这样做:

首先,我定义了一个我不想要的列数组,如timestamp列:

<% @rejects = ["id", "created_at", "updated_at" %> 
Run Code Online (Sandbox Code Playgroud)

然后从对象中删除那些列;

<% @columns = Patient.column_names.reject { |c| @rejects.include?(c) } %>
Run Code Online (Sandbox Code Playgroud)

然后我遍历column_names并打印出输入的信息:

<h2>Is the following information correct?</h2>
<div class="checks">
  <h3>Patient details</h3>
  <% @columns.each_with_index do |c, i| %>
    <p id="p<%= i %>" class="check">
      <span class="title"><%= c %>:</span>
      <span class="value"><%= @patient[i] %></span>
      <span class="valid">
        <img src="../../images/icons/tick.png" alt="green tick">
      </span>
    </p>
  <% end %>
</div>
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助!