jjzjj

ruby-on-rails - Rails 4 Has_many :through join association with select

我正在尝试将Rails3.0应用程序升级到Rails4.0。我注意到的行为之一是模型之间的关系停止工作。假设我们有以下模型:classStudent:teacher_students,:select=>'teacher_students.met_with_parent,teachers.*'#TheRails4syntaxhas_many:teachers,->{select('teacher_students.met_with_parent,teachers.*')},:through=>:teacher_studentsendclassTeacher:teacher_student

ruby - 续集选择了太多列

似乎Sequel的默认选择是“select*”,当您添加一些连接时会导致各种问题。至少你最终会在你的对象中得到错误的id(因为这样会返回不止一个“id”列)。做类似的事情.select("people.*")似乎可以工作,但它将传入的字符串视为一列并用引号引起来。到目前为止,我不得不恢复到裸SQL来解决这个问题,但我知道必须有更好的方法。 最佳答案 Sequel的默认行为是选择所有列,但很容易覆盖。如果您只想从单个表中选择所有列:.select(:people.*)如果您想使用文字SQL字符串:.select('people.*'.

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 - 如何在 ruby​​ watir 中选择下拉值选项?

这是我的下拉菜单,我想在它的值选项上选择它01-Liveanimals我知道如何选择下拉内容,即ie.select_list(:id,"DropDownList_Product").select("01-Liveanimals")实际上我想选择其值01的下拉菜单,我应该为此做什么? 最佳答案 像这样的东西应该可以工作:ie.select_list(:id,"DropDownList_Product").select_value("01")更多信息请访问http://rdoc.info/gems/watir-webdriver/Wat

ruby-on-rails - rails : Form Select From Array/List Instance Variable

我有一个Rails应用程序,其中有一个表单选择(下拉列表)。例如,用户可以从1,2,3,4,5中选择例如,我将这些值作为实例变量存储在数组中,例如:@formlist=[1,2,3,4,5]我怎样才能简单地将数组放入表单选择助手而不是单独列出每个项目。目前我的代码是:"1",2=>"2",3=>"3",4=>"4",5=>"5"})%> 最佳答案 这应该有效:f.select(:heat_level,@formlist.map{|value|[value,value]})一些解释:formselect可以处理类似哈希和类似数组的选项

ruby-on-rails - ruby rails : How to sort a collection_select

我想按数据库表列“plays”对其进行排序/排序(按我想要的方式降序或升序)我完全糊涂了。刚刚找到了select而不是collection_select的解决方案?我的一些代码不知道如何排序/排序数据库表中还有一些列,如“plays”、“goals”... 最佳答案 只需将实际排序的集合传递给collection_select助手:collection_select(:post,:author_id,Author.order('created_atDESC'),:id,:name_with_initial,:prompt=>true

ruby-on-rails - 如何在我的模型中针对项目数组使用命名范围?

我知道我可以基于数组查询最近的书籍范围:recent_books,lambda{|since_dt|{:conditions=>{:created_at>=since_dt}}}但是当我有一组项目时,我该如何做一个类似的查询,例如如果我想知道是否有任何记录与[date1、date2、date3等]数组中的日期匹配我认为必须有一个collect/inject/select/mapy方法可以做到这一点,但我不确定是哪个方法。 最佳答案 如果您传递一个数组作为值,ActiveRecord足够智能,可以比较是否包含在数组中。例如,Book.

ruby - 如何在二维数组中查找

我正在尝试学习如何在二维数组中进行搜索;例如:array=[[1,1],[1,2],[1,3],[2,1],[2,4],[2,5]]我想知道如何在数组中搜索格式为[1,y]的数组,然后显示其他y数字是什么:[1,2,3]。如果有人能帮助我了解如何仅使用数字进行搜索(因为我发现的很多示例都包含字符串或哈希),甚至可以帮助我了解在哪里寻找正确的资源,那将会很有帮助。 最佳答案 Ruby允许您通过在block参数中使用圆括号来查看元素。select和map只分配一个block参数,但您可以查看元素:array.select{|(x,y)|

ruby 性能 : Chaining selects vs AND-ing predicates?

如果我想选择满足谓词p_1和p_2的数组arr的所有元素,那么我有两个实现选项:选项1:arr.select{|x|x.p_1}.select{|x|x.p_2}选项2:arr.select{|x|x.p_1&&x.p_2}两者之间有显着差异吗?在我的用例中,谓词p_1比p_2减少了列表,而且p_2比p_1更昂贵.所以我怀疑将p_1放在p_2之前会使它更快。但是,上述任何一个选项都会有所作为吗? 最佳答案 看来您已经了解谓词的性能特征和数据的形状,这太棒了!有区别吗?简单地说,是的——评估顺序不同:#Option1arr[0].p_

ruby-on-rails - 嵌套模型、表单和 date_select FormHelper 集成

我关注了RyanBatestutorial在嵌套模型上。我的几个嵌套模型都有与之关联的日期。在我的迁移中,它们实际上是“Date”类型。我尝试过的一些事情和遇到的问题date_select-可以处理表单对象前缀,但不能处理嵌套模型属性select_year-不适用于表单对象通过使用(Time.now.year-100)..(Time.now.year)并覆盖attr访问器start_date和end_date以获取选择中的值以形成日期和传递回来。仅适用于创建,不适用于更新将字段的数据类型更改为字符串并使用使用(Time.now.year-100)..(Time.now.year)填充年