我有一个字符串数组,我想在帖子创建期间为每个属性检索。
我的数组= ["_646_maturity", "_660_maturity", "_651_maturity", "_652_maturity", "_641_maturity"]
class Audit < ApplicationRecord
belongs_to :user
before_save :calculate_scoring
def calculate_scoring
scoring = []
models = ActiveRecord::Base.connection.tables.collect{|t| t.underscore.singularize.camelize.constantize rescue nil}
columns = models.collect{|m| m.column_names rescue nil}
columns[2].each do |c|
if c.include? "maturity"
Rails.logger.debug 'COLUMN : '+c.inspect
scoring.push(c)
end
end
getMaturity = ""
scoring.each do |e|
getMaturity = e.to_sym.inspect
Rails.logger.debug 'MATURITY : '+getMaturity
end
end
end
日志打印> 'MATURITY : :_651_maturity'
我正在寻找:_651_maturity
的值,该值是我的帖子的属性。
我尝试了.to_sym
,但是它不起作用。
感谢您的帮助!
答案 0 :(得分:1)
在calculate_scoring
内,您可以使用self
指向要保存的记录。因此self._651_maturity = <some_value>
,self[:_651_maturity] = <some_value>
和self['_651_maturity']
都是设置_651_maturity
的有效方法。
此外,您可以执行以下操作:
my_attrib = '_651_maturity'
self[my_attrib] = 'foo'