ruby on rails - How to assign a value to a column by using String -


i have method this:

class myclass < activerecord::base   def assign_weighted_values     unless foo.nil?       self.weighted_foo = 3 * foo     end     unless bar.nil?       self.weighted_bar = 3 * bar     end     unless hoge.nil?       self.weighted_hoge = 3 * hoge     end   end end 

but want write like:

  def assign_weighted_values     %w(foo bar hoge).each |column|       next if send(column).nil?       self.send("weighted_#{column}") = 3 * column     end   end 

is there way assign value column using string?

you can use assign_attributes

def assign_weighted_values   %(foo bar hoge).each |column|     next if send(column).nil?     assign_attributes({ "weighted_#{column}" => 3 * column })   end end 

Comments

Popular posts from this blog

python - jinja2: TemplateSyntaxError: expected token ',', got 'string' -

Qt4: how to send QString inside a struct via QSharedMemory -

node.js - NodeJS remote terminal to Dropbear OpenWRT-Server -