如何在ActiveRecord中设置默认值?
我看到Pratik的一篇文章描述了一段丑陋,复杂的代码:http://m.onkey.org/2007/7/24/how-to-set-default-values-in-your-model
class Item < ActiveRecord::Base
def initialize_with_defaults(attrs = nil, &block)
initialize_without_defaults(attrs) do
setter = lambda { |key, value| self.send("#{key.to_s}=", value) unless
!attrs.nil? && attrs.keys.map(&:to_s).include?(key.to_s) }
setter.call('scheduler_type', 'hotseat')
yield self if block_given?
end
end
alias_method_chain :initialize, :defaults
end
Run Code Online (Sandbox Code Playgroud)
我已经看到以下示例谷歌搜索:
def initialize
super
self.status = ACTIVE unless self.status
end
Run Code Online (Sandbox Code Playgroud)
和
def after_initialize
return unless new_record?
self.status = ACTIVE
end
Run Code Online (Sandbox Code Playgroud)
我也看到人们把它放在他们的迁移中,但我宁愿看到它在模型代码中定义.
是否有规范方法为ActiveRecord模型中的字段设置默认值?
我必须在一个大的,旧的,意大利面条的ASP系统中做一些重要的开发.我已经远离ASP很长一段时间了,我将精力集中在Rails开发上.
我采取的一个基本步骤是使用有意义的名称将页面重构为子函数和函数,这样至少可以很容易地理解@文件的顶部通常会发生什么.
ASP有一个有价值的MVC框架吗?或者至少如何从视图中获取业务逻辑的最佳实践?(我记得在当天做了很多包括 - 仍然是这样做的方式吗?)
我也希望能够对业务逻辑进行一些单元测试,但也许我的要求太多了?
项目中有超过200个ASP脚本,长达数千行;)UGH!
我们可能会选择"重大改写",但在那之前,当我在更换页面时,我想花一点时间来清理意大利面条.
在作为身份验证的行为,现在是宁静的身份验证中,第一个用户夹具是"Quentin".
只是好奇是否有人知道该名称的来源?昆汀·塔伦蒂诺?有人的狗还是孩子?
我们有以下系统(以及更多)我们将数据从一个应用程序推送到另一个应用程序:
随着Rails 3即将推出,我真的想要实现一个微应用策略,但我正在尝试决定是否应该通过REST HTTP API进行应用程序谈话,或者因为我控制它们,我应该做类似共享模型的事情在代码中简化了但也允许东西更容易泄漏到边界...
我听说37signals有很多小应用程序,我很好奇这些应用程序是如何相互通信的......或者如果你有自己的多应用程序体验的任何建议.
谢谢!我曾经在我的博客http://rywalker.com/chaos-2010上试过这个问题.
如果我按月,日,年从表组中进行选择,则它仅返回包含记录的行,而忽略不包含任何记录的组合,从而一目了然地每天或每个月都有活动,您必须查看日期专栏积极弥补差距。在T-SQL中,即使没有数据,我如何每天/每月/每年都获得一行?
asp.net-mvc ×1
coding-style ×1
date ×1
fixtures ×1
grouping ×1
refactoring ×1
rest ×1
ruby ×1
t-sql ×1