我应该在我的新网络应用程序中使用Ruby 1.9.2吗?

使用Rails 3开始一个新的Web应用程序。我仍然是Web开发的新手,并且非常喜欢在使用Ruby 1.8.7和Rails 2.3.5时可用的所有Internet资源。 有关在我的新项目中使用Ruby 1.9.2的任何建议吗?

rails 3.2.8的可搜索下拉列表?

在新的订单表单中,用户需要从包含数十个客户的下拉列表中选择客户,并且难以通过向上和向下滚动来查找和选择。 这就是为什么我们要构建一个可搜索的drop down list 。 当用户输入客户姓名的几个字母时,下拉列表会过滤掉所有其他字母,并且只留下包含刚才输入的字母的客户名称。我们使用的是simple_form和rails 3.2.8 。 我们可以做的一种方法是添加一个用于输入搜索字符串的text box ,并调用ajax以相应地加载下拉列表。 这需要额外的文本字段,这是多余的。 用户可以直接在下拉框中输入任何解决方案,列表会相应地过滤掉吗? 谢谢。

创建Blueprint API doc时如何在URL中格式化基于哈希的参数?

使用Rails方法在URL的参数中添加哈希,如下所示: http://api.example.com?person[first]=Jane&person[last]=Doe&person[email]=jane@doe.com 如何格式化API Blueprint doc以容纳可用哈希列表? 参数 person [first](必填,弦乐, Jane )……名字 执行文档时这不合法。 欢迎任何想法或提示!

在mongodb ruby​​本地驱动程序中的Mapreduce

我正在使用mongodb的原生ruby驱动程序。我想用它执行map reducefunction,我试着按照这个链接在这里给出 。 我undefined method last for nil:NilClass得到了错误状态的undefined method last for nil:NilClass 我尝试的代码是 def self.mapreduce begin # remove old decoments DBEngine.remove_alldocuments(COLLECTION_MAPREDUCE) # sample collection insertion to perform map reduce function 3.times do |ctr| document = { “cust_id” => “A12”, “amount” => 200, “status” => “S” } result = DBEngine.insert(COLLECTION_MAPREDUCE,document) puts result end 2.times do |ctr| […]

在ruby on rails flash消息中添加HTML

我有一个flash[:success]消息,如下所示: flash[:success] = “This text is now bold.” 。 但是,当我将文本设为粗体时,它只是在消息周围包裹HTML字符,而不是实际变为粗体。 This text is now bold 如何将HTML包含在Flash消息中?

Rails关联:如何限制/范围has_many:通过多个自引用条件?

最好的方法是什么? 我正在尝试这样的事情,但感觉……错了。 (注意:所有关于:has_many关联中的条件……) class Submission :checklist, :source => :job, :conditions => [“jobs.archived = false OR jobs.archived_at > #{self.created_at} OR jobs.created_at < #{self.created_at}"] end Rails 3.2.11,Ruby 1.9.3 我想做什么 我需要在has_many上传递多个条件:通过关联并引用“自我”模型来在这些条件下进行比较。 我找到了多个条件的例子。 我找到了自我参照比较的例子。 但我找不到这两个元素的任何东西。 这让我觉得我做错了。 背景和定义 提交在某个时间点记录清单及其关联作业的快照。 因此,我希望能够说“submission.jobs”并查看在提交本身创建时与提交的核对表关联的作业。* *它实际上稍微复杂一点:我想要在创建提交时存在的作业以及当时尚未存档的作业。 清单是动态的,可以随时间变化,但我总是通过自行建立的归档系统保持历史记录的完整性,因此当为该清单创建提交时,清单上的作业将是Checklist的Job,其中Job.created_at之前是Submission.created_at(尚未存档)。 因此,虽然提交属于清单,而清单属于清单,但是对于特定提交而言,唯一重要的工作是在创建提交时存在(并且尚未存档)的作业。

Rails,activerecord:self vs self.attribute

在rails中访问活动记录列/属性时,使用self [:attribute]和self.attribute之间有什么区别? 这会影响吸气剂和二传手吗?

有序列化的领域的工厂女孩

我和工厂女孩有这个问题,它给了我一个undefined method ‘each’ for #错误,来自工厂的序列化字段。 在ActiveRecord中,它运行每个没有问题,因为返回的对象是一个数组。 我的问题是:如何在工厂中格式化序列化对象? 活动记录返回的方式? 或者它实际存储在数据库中的方式? (即序列化或不序列?)rspec会在保存和检索该活动记录时执行相同的序列化魔术吗? 这是我正在做的简化版本: Tvdb.rb–模型 class Tvdb ‘episodes_’ + info.id.to_s, :cache=>request) return request end end 然后在我的Series.rb模型中,我可以这样做: class Series < ActiveRecord::Base def episodes episodes = Tvdb.episodes(self.tvdb_id) episodes.each do |episode| puts episode.name end end end Tvdb.rb – 工厂 FactoryGirl.define do factory :series1_episodes, :class=>Tvdb do term ‘episodes_79488’ cache %q([#,# ) end […]

什么是“重新加载!”的原因似乎并不总是在Rails控制台中工作?

我只是掌握了Rails控制台,并发现它可以快速测试我的类中的方法。 我知道我可以对我的模型进行更改 > reload! 抓住这些更新,但有时我会发现它似乎没有重新加载我的最新代码。 Rails是否在某处缓存代码? 在一个非常简单的伪示例中,我可能在第100行上有错误的代码: 100: u = User.alll 在Rails控制台中,当我运行此方法时,我可能会收到类似于以下内容的错误: NoMethodError: undefined method `alll’ for User:Class … on line 100 然后修改我的代码,修复错误 100: u = User.all 然后重新加载: > reload! 然后,当在这个类中调用具有正确代码的方法时,它仍会说 NoMethodError: undefined method `alll’ for User:Class … on line 100 很明显,错误是固定的,并且违规行甚至不再在第100行。 有没有办法强制/硬重置“重新加载!” 命令?

Rspec / Capybara:测试是否调用控制器方法

鉴于我设置了一个带有索引动作的HomeController class HomeController < ApplicationController def index @users = User.all end end 并通过根路径路由到它, root :to => “home#index” 为什么这个请求规范失败了 it ‘should called the home#index action’ do HomeController.should_receive(:index) visit root_path end 以下消息 Failure/Error: HomeController.should_receive(:index) ().index(any args) expected: 1 time received: 0 times ? 是因为索引方法被调用为实例方法而不是类方法?