Ruby on rails 所以我创建了一个params散列,给它赋值,试图提取一个值。

Ruby on rails 所以我创建了一个params散列,给它赋值,试图提取一个值。,ruby-on-rails,ruby,hash,params,Ruby On Rails,Ruby,Hash,Params,我正试着把它打印出来。我在这里做错了什么?Person似乎是一个类(与哈希不同),因此除非该类明确定义了[]访问器(例如),否则无法以这种方式访问它。你想要的是: person1 = Person.new person1.first = "Tim" person1.last = "Happy" person2 = Person.new person2.first = "Zack" person2.last = "Sad" person3 = Person.new person3.first

我正试着把它打印出来。我在这里做错了什么?

Person
似乎是一个类(与
哈希
不同),因此除非该类明确定义了
[]
访问器(例如),否则无法以这种方式访问它。你想要的是:

person1 = Person.new
person1.first = "Tim"
person1.last = "Happy"

person2 = Person.new
person2.first = "Zack"
person2.last = "Sad"

person3 = Person.new
person3.first = "Al"
person3.last = "Angry"

params = {:father => person1, :mother => person2, :child => person3} #params hash
puts params[:father][:first]

不可否认,对于JavaScript这样的语言来说,这可能会让人感到困惑,因为这两种符号是可互换的。

@RyanBigg:是什么让你认为它是ActiveRecord对象?我看不到任何迹象;此外,OP一开始就遇到了这个问题,这一事实对我来说正好相反。
puts params[:father].first