rails关联相同的列名

时间:2013-10-07 18:28:04

标签: ruby-on-rails ruby-on-rails-3

我有我的控制器

@post = Post.joins(:customer).select("customers.*,posts.*").find params[:id]

这两种关系都有created_at如何将这两个日期打印为registered dateposted date

1 个答案:

答案 0 :(得分:0)

您不必手动选择每个表的所有列:

# this is fine
@post = Post.joins(:customer).find(params[:id])
# this is better (will not raise a RecordNotFound if no record found)
@post = Post.joins(:customer).where(id: params[:id]).first

在您看来,您可以访问以下属性:

Post was created at: <%= @post.created_at %>
Customer registered at: <%= @post.customer.created_at %>

此代码依赖于列created_at是创建帖子/客户注册的日期这一事实。如果您导入现有客户列表,例如

,有时可能会出错