Ruby on rails RubyonRails,其中()

Ruby on rails RubyonRails,其中(),ruby-on-rails,Ruby On Rails,我正在做我的ruby项目,但我遇到了一个问题。 我对ruby中的where有一个问题,如下所示 @talk = Talk.where(params[:ask]) 我明白了 "#<Talk::ActiveRecord_Relation:0x007f811404dae8>" “#” 这来自于@talk。 我用ask在数据库中找到答案的值。 如何使用where()打印talk的值?只有在调用特殊方法(如first、each等)时才会检索对象。这称为延迟加载 @talk=talk.wh

我正在做我的ruby项目,但我遇到了一个问题。 我对ruby中的where有一个问题,如下所示

@talk = Talk.where(params[:ask])
我明白了

"#<Talk::ActiveRecord_Relation:0x007f811404dae8>"
“#”
这来自于
@talk
。 我用ask在数据库中找到答案的值。
如何使用
where()
打印talk的值?

只有在调用特殊方法(如first、each等)时才会检索对象。这称为延迟加载

@talk=talk.where(参数[:ask])

@talk=talk.where(params[:ask])。首先


通过这种方式,您将获得第一个条目,该条目将由您的where返回,您可以阅读更多关于延迟加载与线程上的急切加载的信息

只有在调用诸如first、each等特殊方法时才会检索对象。这称为延迟加载

@talk=talk.where(参数[:ask])

@talk=talk.where(params[:ask])。首先


通过这种方式,您将获得第一个条目,该条目将由您的where返回,您可以阅读更多关于延迟加载与线程上的急切加载的信息

只有在调用诸如first、each等特殊方法时才会检索对象。这称为延迟加载

@talk=talk.where(参数[:ask])

@talk=talk.where(params[:ask])。首先


通过这种方式,您将获得第一个条目,该条目将由您的where返回,您可以阅读更多关于延迟加载与线程上的急切加载的信息

只有在调用诸如first、each等特殊方法时才会检索对象。这称为延迟加载

@talk=talk.where(参数[:ask])

@talk=talk.where(params[:ask])。首先

通过这种方式,您将获得第一个条目,该条目将由where返回,您可以阅读更多关于线程上的延迟加载与快速加载的信息,where()将返回一个集合对象。您缺少一个列名称

如果要从集合中访问一个对象,请使用

@talk = Talk.where(column_name: params[:ask]).first #Or Talk.where(column_name: params[:ask]).last depending on the requirement 
如果要访问所有对象,必须遍历返回的每个对象

@talks = Talk.where(column_name: params[:ask])

-unless @talk.nil?
  @talks.each do |talk|
    = talk.column_name
where()
将返回一个集合对象。您缺少一个列名称

如果要从集合中访问一个对象,请使用

@talk = Talk.where(column_name: params[:ask]).first #Or Talk.where(column_name: params[:ask]).last depending on the requirement 
如果要访问所有对象,必须遍历返回的每个对象

@talks = Talk.where(column_name: params[:ask])

-unless @talk.nil?
  @talks.each do |talk|
    = talk.column_name
where()
将返回一个集合对象。您缺少一个列名称

如果要从集合中访问一个对象,请使用

@talk = Talk.where(column_name: params[:ask]).first #Or Talk.where(column_name: params[:ask]).last depending on the requirement 
如果要访问所有对象,必须遍历返回的每个对象

@talks = Talk.where(column_name: params[:ask])

-unless @talk.nil?
  @talks.each do |talk|
    = talk.column_name
where()
将返回一个集合对象。您缺少一个列名称

如果要从集合中访问一个对象,请使用

@talk = Talk.where(column_name: params[:ask]).first #Or Talk.where(column_name: params[:ask]).last depending on the requirement 
如果要访问所有对象,必须遍历返回的每个对象

@talks = Talk.where(column_name: params[:ask])

-unless @talk.nil?
  @talks.each do |talk|
    = talk.column_name

如果您的talk对象中有不同的ask值,那么您可以这样做

@talk = Talk.find_by(ask: params[:ask])

它将返回单个talk对象。如果找不到这样的ask值,则返回nil。

如果您的对话对象中有不同的ask值,则可以执行以下操作

@talk = Talk.find_by(ask: params[:ask])

它将返回单个talk对象。如果找不到这样的ask值,则返回nil。

如果您的对话对象中有不同的ask值,则可以执行以下操作

@talk = Talk.find_by(ask: params[:ask])

它将返回单个talk对象。如果找不到这样的ask值,则返回nil。

如果您的对话对象中有不同的ask值,则可以执行以下操作

@talk = Talk.find_by(ask: params[:ask])

它将返回单个talk对象。如果找不到这样的ask值,则返回nil。

参数[:ask]中的内容是什么?您要搜索的数据库中有哪些列?将在何处返回集合。如果您只希望第一条记录与查询匹配,请在末尾添加
.first
params[:ask]
?您要搜索的数据库中有哪些列?将在何处返回集合。如果您只希望第一条记录与查询匹配,请在末尾添加
.first
params[:ask]
?您要搜索的数据库中有哪些列?将在何处返回集合。如果您只希望第一条记录与查询匹配,请在末尾添加
.first
params[:ask]
?您要搜索的数据库中有哪些列?将在何处返回集合。如果您只希望第一条记录与查询匹配,请在末尾添加
。first