Rails 4,Active Record查询返回ActiveRecord

时间:2014-06-16 13:51:11

标签: ruby-on-rails activerecord

我想从我的数据库中检索数据并在视图中显示它。

我的控制器是:

bancas_controller.erb

def show
  @user = current_user
  @a=Banca.find_by(user_id: @user.id)
end

观点是:

banca: <%=@a%>

我的模型有一些属性:numscadenzauser_id。我不明白为什么我的观点是这样的:

banca: #<Banca:0xb715330>

4 个答案:

答案 0 :(得分:0)

刚做

@a=Banca.find_by(user_id: @user.id)

返回带有某个所需id的记录。要获得所需的属性,请使用

@a.attribute_name
@a.name
@a.email
@a.gender

如果您想要查看所有属性,请使用@a.inspect

答案 1 :(得分:0)

<%=@a%>将运行erb标记中的代码,然后在结果上调用to_s。如果您在ActiveRecord对象上调用to_s,那么您将获得所看到的结果。您需要在erb标记中决定如何显示与对象关联的数据。例如

banca: <%= @a.scadenza %>

或其他什么。

答案 2 :(得分:0)

Find by是一个动态查找程序,它就像使用where子句一样,即使只有一个子句,它也会返回一个Active Record关系。只需弹出.first即可获得第一个,如果这是你想要的。

@a=Banca.find_by(user_id: @user.id).first

答案 3 :(得分:0)

@a是一个对象。在视图中执行此操作@ a.inspect以查看其属性。要迭代它,请使用.each或.map。

相关问题