如何从Rails中的Model访问表属性?

时间:2011-09-18 20:01:42

标签: ruby-on-rails model-view-controller

我想在我的应用程序的Model中编写一些方法,它修改从Form接收的数据,然后存储在数据库中。如何访问模型中表的属性?如何将“status”列的默认值设置为“active”? 例如,考虑我的表单有三列first_name,last_name和Age。现在我想从Model中访问这些属性,将Name(由Form接收)拆分为first_name和last_name并修改age(假设加上原始年龄的10%),然后将新的'age'和first_name以及last_name保存到数据库中。怎么做?

2 个答案:

答案 0 :(得分:0)

尝试类似:

class SomeModel < ActiveRecord::Base

  def name=(a_name)
    self.first_name, self.last_name = a_name.split ','
  end

  def age=(an_age)
     self.age = an_age.to_i * 1.1
  end
end

sm = SomeModel.new
sm.name = 'FirstName, LastName'
sm.age = 10
sm.save

祝你好运

答案 1 :(得分:0)

像这样的事情

class User < ActiveRecord::Base

  before_save :is_admin

  def is_admin
    self.status = 'f' unless self.status
  end
end