[英]ruby on rails undefined method
sharvil@sharvil:~/railstut/blog$ rails c
Loading development environment (Rails 4.2.1)
2.2.2 :001 > q=Question.all
Question Load (0.5ms) SELECT `questions`.* FROM `questions`
=> #<ActiveRecord::Relation [#<Question questions_id: 1, question: "What is this", almuni_almuni_id: 1, category_category_id: 1>]>
2.2.2 :002 > q
=> #<ActiveRecord::Relation [#<Question questions_id: 1, question: "What is this", almuni_almuni_id: 1, category_category_id: 1>]>
2.2.2 :003 > q.question
NoMethodError: undefined method `question' for #<Question::ActiveRecord_Relation:0x000000045dc178>
from /home/sharvil/.rvm/gems/ruby-2.2.2/gems/activerecord-4.2.1/lib/active_record/relation/delegation.rb:136:in `method_missing'
I am getting a error in accessing q.questions .. question is column in table. 我在访问q.questions时遇到错误..问题是表中的列。
pls help. 请帮助。
You need to do - q.first.question
. 您需要做q.first.question
。 Your q
is a collection of questions not an instance of Question
. 您的q
是问题的集合,而不是Question
的实例。 And you called question
method on the collection of questions, that's why you got the error. 您在question
集合上调用了question
方法,这就是为什么您会得到错误。
In your case q is question collection 在您的情况下, q是问题收集
q.each do |que|
puts que.question
end
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.