活动记录find_by_sql,对象字段第一次返回nil

时间:2017-10-30 01:43:04

标签: ruby-on-rails rails-activerecord find-by-sql

我在rails console中运行以下代码:

functions = Function.find_by_sql("Select * from functions where active = 1 and role_id =1")

它返回:

[#<Function id: 5355, display: "New User", module_name: "Users Management">]

当我拿到显示字段时:

functions[0].display

返回nil值:

#<Function:0x7f714011e870>=> nil

获取模块名称:

functions[0].module_name

输出:

"/users/new"

再次获取显示字段:

 functions[0].display

现在是正确的

 "New User"

这是function.rb

# == Schema Information
# Schema version: 20120327101526
#
# Table name: functions
#
#  id              :integer(4)      not null, primary key
#  display         :string(255)
#  module_name     :string(255)

class Function < ActiveRecord::Base
  belongs_to :role
end

有人可以向我解释为什么函数[0] .display在第一次查询时返回nil吗?

0 个答案:

没有答案