ruby-on-rails - 如何从我 View 中的 Rails habtm 集合对象中提取相关属性值

标签 ruby-on-rails ruby associations has-and-belongs-to-many

我有两个模型: 1)上传 2) 日期范围

有一个中间连接表,因为这些模型是通过多对多关系关联的,因此,每个模型都是彼此的 habtm。

在我的上传 View (index.html.erb)中,我试图显示特定上传的所有日期范围,如下所示:

  <tr>

  <th>File name</th>
  <th>Upload Date, Time, Filename</th>
  <th>Type</th>
  <th>Dates in Upload</th>
  <th>Total Rows</th>
  <th>Rows Entered in DB</th>
  <th>Percentage Completed</th>
  <th>Status</th>
  <th>Actions</th>
   </tr>
 </thead>
 <tbody>
     <% @uploads.each do |u| %>
      <tr>

    <td> <%= u.sourcedata_file_name%></td>
         <% path_arr = u.f_path.split("\/")%>
    <td><%= path_arr[-3..-1]%></td>
    <td> <%= u.sourcedata_content_type%></td>
=>>     <td> <%=  u.date_ranges.inspect%>
    <td> <%= u.total_rows%></td>
    <td> <%= u.rows_completed%></td>

像这样。

这在浏览器上显示如下:

enter image description here

在我的“上传日期”列中,我只想显示一些带有日期的字符串,如下所示: “2013-12-25、2013-12-26”如何只从 ActiveRecord::Associations::CollectionProxy 对象中提取这些信息,如图所示?

谢谢

最佳答案

使用 u.date_ranges.pluck(:date_range) 获取日期范围。

然后你可以用

来美化它
u.date_ranges.pluck(:date_range).each {|range| puts range}

如果您希望它们在一列中。

我看到你想要并排放置它们,所以看起来只有两个,因为它是一个“范围”,所以:

 <%= u.date_ranges.pluck(:date_range).first %>, <%= u.date_ranges.pluck(:date_range).last %>

关于ruby-on-rails - 如何从我 View 中的 Rails habtm 集合对象中提取相关属性值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20819152/

相关文章:

ruby-on-rails - Rails的5的belongs_to_required_by_default不起作用

ruby - 冒号(:) appears as forward slash (/) when creating file name

ruby - 如何从套接字获取输入而不被回显?

安装 compass gem 后 ruby​​ 1.9.1 错误

node.js - 创建一个属于另外两个对象的对象

ruby-on-rails - 动态获取rails关联

ruby-on-rails - 动态创建文件并下载到用户计算机

ruby-on-rails - 当 appcache 存在时使用 AJAX 和 Rails 设置 session 变量

ruby-on-rails - before_destroy 不是从 update_attributes 触发的

ruby-on-rails - rails 太阳黑子的光替代品