`
hideto
  • 浏览: 2679558 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Rails宝典之第四十二式: with_options

    博客分类:
  • Ruby
阅读更多
Rails里有些方法使用一个Hash作为最后一个可选的参数,如果对多个方法有同样的选项,我们可以使用with_options来减少冗余:
# models/user.rb
with_options :if => :should_validate_password? do |user|
  user.validates_presence_of :password
  user.validates_confirmation_for :password
  user.validates_format_of :password, :with => /^[^\s]+$/
end

attr accessor :updating_password

def should_validate_password?
  updating_password || new_record?
end

# routes.rb
map.with_options :controller => 'sessions' do |sessions|
  sessions.login 'login', :action => 'new'
  sessions.logout 'logout', :action => 'destroy'
end
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics