草庐IT

php - 在选择查询中包含附加字段

全部标签

ruby-on-rails - 编写多行 ActiveRelation 查询的惯用方法是什么?

我的应用程序中有许多多行ActiveRelation查询方法,我不确定编写这些方法的最惯用方式。看看这个例子:defpostal_code_ids_within(miles)nearby_postal_codes=PostalCode.where("latitude>:min_latandlatitude:min_lonandlongitude我觉得有点不对劲。从中返回ActiveRelation对象的block似乎是惯用的,但我还没有看到这种方法。什么是标准? 最佳答案 根据Brian的建议,这更易读并且效果很好。scope:ne

ruby-on-rails - 如果字段不为零,则葡萄实体有条件地公开

在一个葡萄实体中,我只想在没有运气的情况下显示一个字段(不是零?)。我正在尝试这段代码,但根本没有按预期工作,但总是隐藏该字段。expose:winner,:using=>PlayerEntity,:unless=>{:winner=>nil}我认为代码本身解释了我真正需要的东西,但正如我所说,我没有得到预期的结果。有什么线索吗? 最佳答案 好的,检查grape-entity的代码我发现你需要将这个block作为RubyProc传递。此代码将按预期工作:expose:winner,:using=>PlayerEntity,:unle

ruby - rspec - 选择之一的匹配器

我有从预定义数组返回随机值的方法(即:['value1','value2'])。我应该如何使用rspec进行测试?我想做这样的事情:expect(FooClass.new.value).tobe_in['value1','value2']有什么办法吗?谢谢。 最佳答案 使用这个expect(['value1','value2']).toinclude(FooClass.new.value)或者一个简单的bool匹配expect(['value1','value2'].include?FooClass.new.value).tobet

ruby-on-rails - 在 Rails 中,如何使用字符串数组实现 HTML 选择菜单?

我有一个FinancialDocument#document_type模型属性。我想让用户从由字符串数组填充的HTML选择菜单中选择文档类型...doctypes=['Invoice','Packingslip','Other']对于每个选项,显示的标签和返回的值都是相同的。我查看了select和collection_select助手,但它们似乎适合选择子模型,而不仅仅是一个String值。我找不到如何让它们达到我的目的。这是我正在尝试的方法(我使用的是Haml,而不是Erb)...form_for(@financial_document)do|f|-doctypes=['Invoic

ruby-on-rails - 在 Ruby on Rails 中隐藏字段

我的数据库中有一个名为IP的字段,当他在我的Rails内置博客中发送消息时,我将用户IP(在#create方法中)放在该字段中。但是当我想以另一种格式(JSON)查看文章时,该字段是可见的。如何隐藏字段IP? 最佳答案 您可以在Controller中的格式block中执行此操作,如下所示:respond_todo|format|format.json{render:json=>@user,:except=>[:ip]}#orwithoutformatblock:@user.to_json(:except=>:ip)end如果你想普遍

ruby - 给定一个 Ruby 元类,我如何获取它所附加的实例?

这是问题“GivenaninstanceofaRubyobject,howdoIgetitsmetaclass?”的反面您可以在默认的to_s输出中看到附加元类或单例类的对象的表示:s="hello"s_meta=class"#>"classC;endc_meta=class"#"是否有可能实现一个方法Class.attached来返回这个对象(如果接收者是一个普通类,则返回nil)?s_meta.attached#=>sc_meta.attached#=>CC.attached#=>nil 最佳答案 有一个丑陋的(但有效的)黑客,

ruby - 带有表双下划线的 Sequel gem 限定查询列名

使用Sequelgem:employees=DB[:prm_master__employee.identifier].join(:prm_master__employee_custom_fields.identifier,:employee=>:employee).where("termination_date>=?","06/01/2012").or("termination_date=NULL").and("employee='holderl'")以上失败:~/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/sequel-3.

ruby-on-rails - 如何显示信用卡的月份和年份选择

我正在使用Rails3.1。这是我的代码,要求用户输入信用卡到期月份和年份。以上代码有效。但是,问题是如果出现验证错误,则会重置所选的到期时间和月份。我试过f.select_month但不支持。 最佳答案 尝试这样的事情:true,:start_year=>Date.today.year,:end_year=>(Date.today.year+10),:use_month_numbers=>true%> 关于ruby-on-rails-如何显示信用卡的月份和年份选择,我们在StackOv

ruby-on-rails - ruby/rails 中的日期范围查询

我正在尝试运行以下查询。我知道语法有误,但我不太清楚它有什么问题。基本上,我试图找出有多少游戏的日期在今天的45天内。我有一个名为Game的模型,它有一个名为date_of_game的字段属性。我的查询:Game.where(date_of_game:谢谢!! 最佳答案 你说:howmanygameshavedatesthatarewithin45daysoftoday但是您的代码将检索日期小于今天+45天的所有游戏,这意味着它会返回去年的游戏。要遵循您的声明,您应该使用:Game.where(date_of_game:Date.c

ruby-on-rails - 无法在 Rails 中使用 ActiveStorage 创建文件字段

我正在尝试在Rails5.2中使用ActiveStorage。我发现我应该在迁移中创建类型为file的字段,但是我有一个错误:$rdmRunningviaSpringpreloaderinprocess40193==20171217191942CreateDishes:migrating=====================================--create_table(:dishes)rakeaborted!StandardError:Anerrorhasoccurred,thisandalllatermigrationscanceled:undefinedmeth