我认为这可能比我做的更简单......
我目前在我的控制器(用户)中有这个
def portfolios
@title = "Portfolios"
@user = User.find_by_permalink(params[:id])
@portfolios = @user.portfolios
@collections = @user.collections.find_all_by_portfolio_id(1)
@collections = User.find_by_permalink(params[:id])
render 'show_portfolios'
end
在我看来,这是:
<% @portfolios.each do |portfolio| %>
<tr>
<td><%= image_tag("portfolioIcon.png", alt: "Portfolio Logo")%></td>
<td><%= portfolio.name %></td><br/>
</tr>
<tr>
<% (1..@user.collections.find_all_by_portfolio_id(portfolio).length).each do |collection| %>
<td><%= @user.collections.find_all_by_portfolio_id(portfolio) %></td><br/>
<% end %>
</tr>
<% end %>
但它看起来返回一个位于方括号中的哈希:
[#<Collection id: 1, user_id: 1, portfolio_id: 1, name: "User-1-Portfolio-1-Collection-1", created_at: "2013-04-20 10:45:46", updated_at: "2013-04-20 10:45:46">]
所以我不能只将 .name 放在它的末尾以返回“User-1-Portfolio-1-Collection-1”。
数据库的设置是这样的: 一个用户有许多投资组合和许多收藏。一个投资组合属于用户,通过一个连接表有很多收藏 一个收藏属于用户,通过一个连接表有很多投资组合
希望这是有道理的。
也许有一种更简单的方法可以在普通哈希中提取我所追求的信息?