草庐IT

created_day

全部标签

ruby-on-rails - Rails first_or_create ActiveRecord 方法

first_or_create/first_or_create!方法在Rails中有什么作用?根据documentation,方法“没有描述”... 最佳答案 来自Guides先创建first_or_create方法检查first是否返回nil。如果确实返回nil,则调用create。这在与where方法结合使用时非常强大。让我们看一个例子。假设您想找到一个名为“Andy”的客户,如果没有,请创建一个并将其锁定属性设置为false。你可以通过运行来做到这一点:Client.where(:first_name=>'Andy').fir

ruby-on-rails - rails 中的 create_or_update 方法

ifClassName.exists?(["id=?",self.id])object=ClassName.find_by_name(self.name)object.update_attributes!(:street_address=>self.street_address,:city_name=>self.city_name,:name=>self.org_unit_name,:state_prov_id=>self.state_prov_id,:zip_code=>self.zip_code)elseClassName.create!:street_address=>self.

ruby - 冒号(:) appears as forward slash (/) when creating file name

我正在使用日期和时间来标记我正在创建的新文件,但是当我查看该文件时,冒号是一个正斜杠。我正在使用10.7+在Mac上开发这是我使用的代码:File.open("#{time.hour}:00,#{time.month}-#{time.day}-#{time.year}","a")do|mFile|mFile.syswrite("#{pKey}-#{tKey}:\n")mFile.syswrite("Itemsclosed:#{itemsClosed}|Totalitems:#{totalItems}|Percentclosed:%#{pClosed}\n")mFile.syswrite

ruby-on-rails - Rails : Validate only on create, 或在字段不为空时更新

当字段不为空时,如何限制Rails验证仅在创建时检查或检查?我正在为我正在使用的应用程序创建一个用户设置页面,问题是,当使用表单提供的参数进行更新时,只有在密码和密码确认都存在时才会保存设置。我希望这些密码字段无论如何都在创建时进行验证,但仅在提供时进行更新。 最佳答案 如果你想允许空值使用:allow_blank与验证。classTopic如果您只想在创建时验证,请使用on与验证。classTopic涵盖您的情况:classTopicvalidates:email,presence:true,if::should_validate

ruby-on-rails - 3.days.ago, 2.hours.from_now 等没有 Rails?

有些书提到一些gem可以用#days,#megabytes,#minutes等装饰数字。这只在ActiveSupport中,还是是否有较小的gem提供此功能以用于(小型)非railsgem?我想在一个小小的gem中将此功能用作DSL的一部分。 最佳答案 我不确定除了ActiveSupport之外是否还有其他可用的gem,但是自己制作一个小版本真的很简单:classFixnumSECONDS_IN_DAY=24*60*60defdaysself*SECONDS_IN_DAYenddefagoTime.now-selfendend3.d

ruby - 定义方法 : How to dynamically create methods with arguments

我想为find_by功能创建一堆方法。我不想一遍又一遍地写同样的东西,所以我想使用元编程。假设我想创建一个按名称查找的方法,接受名称作为参数。我该怎么做?我过去曾使用过define_method,但我没有为该方法采用的任何参数。这是我的(坏的)方法["name","brand"].eachdo|attribute|define_method("self.find_by_#{attribute}")do|attr_|all.eachdo|prod|returnprodifprod.attr_==attr_endendend有什么想法吗?提前致谢。 最佳答案

ruby-on-rails - 运行 heroku create --stack cedar 时无法加载此类文件 -- readline (LoadError)

我正在尝试将我的Rails应用程序部署到Heroku以按照以下说明进行测试:http://devcenter.heroku.com/articles/rails3#prerequisites这是我要运行的命令:herokucreate--stackcedar我收到此错误消息:/home/sergio/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in`require':cannotloadsuchfile--readline(LoadError)from/home/s

ruby-on-rails - rails : Postgres permission denied to create database on rake db:create:all

我正在尝试创建用于开发和测试的postgres数据库。我正在使用:OSX优胜美地Rails版本:4.2.0git版本:2.2.2psql版本:9.4.0ruby版本:2.1.0p0自制软件版本:0.9.5gem文件:gem'pg'数据库.yml:default:&defaultadapter:postgresqlencoding:unicodepool:5development:rakedb:create:all返回PG::InsufficientPrivilege:ERROR:permissiondeniedtocreatedatabase:CREATEDATABASE"myapp_

ruby-on-rails - rails 回调中 after_create、after_save 和 after_commit 之间的区别

Rails中after_create、after_save和after_commit的区别在于:after_save在创建和更新对象时调用after_commit在创建、更新和销毁时被调用。after_create仅在创建对象时调用这是它们之间唯一的区别,还是还有其他主要区别? 最佳答案 你几乎做对了。但是after_commit和after_create或after_save之间有一个主要区别,即在after_create的情况下,这将始终在调用保存(或创建)返回之前。Rails将每个保存都包装在一个事务中,并且创建之前/之后的回

ruby - ruby datetime 中有 add_days 吗?

在C#中,DateTime类中有一个方法AddDays([numberofdays])。ruby中有这样的方法吗? 最佳答案 Date类提供了一个+运算符来执行此操作。>>d=Date.today=>#>>d.to_s=>"2009-08-31">>(d+3).to_s=>"2009-09-03">> 关于ruby-rubydatetime中有add_days吗?,我们在StackOverflow上找到一个类似的问题: https://stackoverflo