Rails中文Podcasts【三】
一、session中来自model的危险
在session中存model的时候需要谨慎些,有时候它会变得很不听话而且特尼玛容易和数据库不同步,所以最好的方式不是存model在session中,而是存model的ID,并从数据库中根据ID来抓model
这是符合我们的数据库的,因为数据库中的User所具有的column就是first_name和last_name,但在现实中我们何曾把名和姓分开呢?我们当然会希望这个样子:
对应的erb是class User < ActiveRecord::Base attr_accessible :first_name, :last_name, :password def full_name [first_name, last_name].join(' ') end def full_name=(name) split = name.split(' ',2) self.first_name = split.first self.last_name = split.last endend通过join方法我们连full_name也可以直接取了,而full_name=(name)方法则把上面那个erb中的full_name给分而化之了,这样就不会在往数据库存的时候出现意外了