Rails 3.按关联模型排序

假设我有两个模型:Course和ScheduledCourse。 Course模型具有name属性。 课程has_many:预定课程scheduled_courses:belongs_to课程 courses id | name 1 | biology 2 | history 3 | chemistry 4 | literature scheduled_courses id | course_id 1 | 2 2 | 4 3 | 1 4 | 2 如何创建ActiveRecord查询以按字母顺序对计划的课程进行排序?

使用Rails作为大型网站的框架

我已经玩Rails(版本3)几个月了,我对框架相当了解。 但是,我还没有开发一个提供大量数据库访问和用户交互的大型网站。 我对以下内容持怀疑态度: Ruby的速度和可伸缩性(我听说它比大多数其他服务器端语言慢10倍)。 Rails作为框架(多级abstration)的额外后台处理。 缺乏在Rails上运行的企业级Web应用程序(我能想到的只有Groupon,Github和Hulu)。 环境的复杂性(nginx> mongrel> rails> ruby​​>网站)。 幕后的SQL操作(我知道这些可以优化,但我确信我会错过一些)。 由于这些原因,我不确定是继续使用Rails还是转换为构建在更高性能语言上的东西。比如Java Spring。 请指教 :)

Ruby Rspec。 获取所有测试的列表

我对Rspec进行了一些测试,看起来像这样: describe “description” do before :each do do_before() end it “something_1” do … end it “something_2” do … end end 我知道我可以通过使用获得当前测试的名称(“ something_1 ”) example.description 有没有办法在before :each得到所有描述的数组before :each区域?

无法在“中将字符串更改为int

在ruby中,我尝试在运算符’ [] ‘中将String转换为Int但是失败了。 这是代码(我的输入是14 45 ): STDIN.gets.split(/\s+/).each do |str| book = tags[str.to_i] # book is just a new variable. tags is an array end ruby将因错误而停止: in ‘[]’: no implicit conversion of String into Integer (TypeError) 所以我将我的代码更改为以下(这一个很好用。): STDIN.gets.split(/\s+/).each do |str| number = str.to_i # for converting book = tags[number] end 这个很好用。 但我必须再添加一行进行转换。 是否有避免这条线的好方法? 我的ruby版本是: $: ruby […]

我可以评估Proc中的块吗?

我可以在Proc中产生一个块吗? 考虑这个例子: a = Proc.new do yield end a.call do puts “x” end 我想要实现的是打印x ,但是用ruby 2.0解释这会引发LocalJumpError: no block given (yield) 。

Ruby 2.0字节码导出/导入

我一直在阅读有关新的ruby 2.0function ,并发现它将支持字节码导入/导出: Ruby 2.0有望简化将预编译的Ruby脚本保存为字节码表示,然后直接运行它们。 我已经安装了ruby-2.0.0-p0,但是我没有找到有关如何导出字节码的任何信息(或者通常是关于该问题的文档)。 此function是否已实施,如果是,我该如何使用它? 我也想知道一些细节。 YARV字节码是否应该与平台无关? 所有gem都自动包含在字节码中吗?

rails application helper不支持中文字符

def top_cateogries_with_home(category_id=-1) concat(raw “”) container=[] for category in Category.top container.push([category.name,category.id]) end concat(raw “首页”) concat(raw options_for_select(container, selected = nil)) concat(raw “”) end 我写一个帮助方法一个application_helper.rb,但它会抛出问题,如果容器中文字符首页,如果我用数字或其他字符替换它们,没关系, 我可以使用带有中文字符的注释,但是如果我想在帮助器中使用它会抛出错误,同样在数据库中的chinse数据可以很好地显示, 希望有人能帮助我,谢谢

如何让两个Thor任务共享选项?

使用Thor,可以使用method_option为特定任务设置选项。 要为类中的所有任务设置选项,可以使用class_option 。 但是,如果想要一个class级的某些任务,而不是所有的任务,分享选项呢? 在以下任务1和任务2共享选项但它们不共享所有选项,并且它们不与task3共享任何选项。 require ‘thor’ class Cli :string, :required => true, :default => ‘foo’ def task1 end desc ‘task2’, ‘Task 2’ method_option :type, :type => :string, :required => true, :default => ‘foo’ method_option :value, :type => :numeric def task2 end desc ‘task3’, ‘Task 3’ method_option :verbose, :type => :boolean, :aliases => ‘-v’ def […]

Sinatra没有坚持使用Chrome重定向会话

Sinatra没有通过重定向Chrome来坚持我的会话。 它正在创建一个全新的会话,我将丢失以前的所有会话数据。 作为一个例子(类似于Sinatra文档 ),我正在做这样的事情: enable :sessions get ‘/foo’ do session[:user_id] = 123 session[:session_id] # “ABC”, for example redirect to(‘/bar’) end get ‘/bar’ do # this is “DEF” when responding to Chrome (wrong), # but “ABC” when responding to Firefox or Safari (right) session[:session_id] # this is nil when responding to Chrome (wrong), # but 123 […]

rails precompile为什么javascript在本地不起作用,但在heroku它可以正常工作

因此,该应用程序在本地运行良好,直到我预编译资产。 当部署到heroku时,我做了资产预编译然后部署,它在heroku工作正常,但现在似乎javascript被打破了。 有关如何解决的任何建议? 我应该删除公用文件夹中的文件还是使用某些配置? 提前致谢 UPDATE 我为每个在开发模式下加载的资产文件得到了其中一个,这是正常的吗? Started GET “/assets/home.js?body=1” for 127.0.0.1 at 2012-06-15 19:16:48 +0100 Served asset /home.js – 304 Not Modified (0ms) 这很奇怪。 我正在使用twitter bootstrap,现在测试javascript是否搞砸了我添加了一个工具提示html示例来检查它是否也崩溃了,它确实有效。 但我在菜单栏的下拉列表不起作用。 这有多奇怪?