【问题标题】:How to generate attribute names, and grab their values in a rails model如何生成属性名称,并在 Rails 模型中获取它们的值
【发布时间】:2015-04-09 22:28:20
【问题描述】:

d我正在编写一个 Model 函数,该函数在哈希上进行迭代,其键的名称与模型属性名称相同。我想将哈希键的值与同名模型属性中包含的值进行比较。但是,当我生成属性名称时,我不知道如何实际引用实际的模型名称及其对应的属性。目前我正在做以下事情:

 def grade 
   num_correct = 0
   answers = self.class.answers
   answers.each do |question, value|
     db_question = question
     num_correct = num_correct + 1 if db_question.to_i == value
   end


   if num_correct < 22
     return "Beginner"
   elsif num_correct >= 22 and num_correct < 41
     return "Intermediate"
   else
     return "Advanced"
   end 
 end

我希望db_question 实际上是模型属性“db_question”,但是我不确定如何从相当于实际模型属性的简单字符串转换为模型属性 本身.

【问题讨论】:

标签: ruby-on-rails ruby


【解决方案1】:

在你的情况下:

value = model.send 'Beginner'.downcase.to_sym

一般 - 让字符串自己打印.....:

'yolo'.send 'to_s'.to_sym

相当于

'yolo'.to_s

相当于

'yolo'

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-01
    • 2017-09-16
    相关资源
    最近更新 更多