在我的rails(v2.3.8)应用程序中,我有一个静态资源文件,我放在/public/myfile.kml不需要任何特殊的routes.rb设置对吗?
它可以在http:// localhost:3000/myfile.kml中正常运行
当我部署(对乘客)时,它出现在http://myserver/myappname/myfile.kml
到目前为止一切都很顺利......
我有一个视图(一个erb文件),它会喷出需要引用此文件的javascript.输出需要在localhost上是'/myfile.kml',在生产中需要'/myappname/myfile.kml',或者可能是上面的完整URL,或者可能是涉及一些'../../的相对url ../'(使用RESTful URL很尴尬).
我应该能够做一些像<%= url_for'myfile.kml'%>这样的事情吗?
或'<%= ROOT_URL%>/myfile.kml'
我知道这个问题有一个非常简单的答案,但说实话,我找不到运气.很多人都在谈论'root_url',但那是什么?我可以在视图中引用变量吗?这是未定义的.
我不确定它是否是一个Rspec问题,但我只是在Rspec测试中加入了这个问题.
我想检查数组是否等于另一个数组,无论元素顺序如何:
[:b, :a, :c] =?= [:a, :b, :c]
Run Code Online (Sandbox Code Playgroud)
我目前的版本:
my_array.length.should == 3
my_array.should include(:a)
my_array.should include(:b)
my_array.should include(:c)
Run Code Online (Sandbox Code Playgroud)
在Rspec,ruby或Rails上是否有任何方法可以执行以下操作:
my_array.should have_same_elements_than([:a, :b, :c])
Run Code Online (Sandbox Code Playgroud)
问候
Rails 2.3的EOL日期是什么?
我的模型(酒吧)已经有一个参考列,我们称之为foo_id,现在我需要改变foo_id,以fooable_id使之多态性.
我想我有两个选择:
fooable多态的新参考列并从中迁移ID foo_id (迁移这些的最佳方法是什么?我可以做吗?Bar.each { |b| b.fooable_id = b.foo_id }?foo_id到fooable_id并添加polymorphic到fooable_id.如何将多态添加到现有列?在处理Rails 2.3.18到Rails 3.2.x迁移时,我在type列中面临名称问题
这是定义的关系.
app/models/reservation.rb
class Reservation
end
class Reservation::Guest < Reservation
end
class Reservation::Event < Reservation
end
Run Code Online (Sandbox Code Playgroud)
在保存Reservation::Guest或Reservation::Event实例时,type保存的值是Reservation::Guest和Reservation::EventRails 3中的.但是在Rails 2中,它保存没有名称空间即,Guest或Event.
它需要付出很多努力来迁移现有数据并更改所有type不需要命名空间的地方.
如果type不在命名空间中进行大量修改,是否可以在没有命名空间和休息的情况下进行保存?
migration legacy-code single-table-inheritance ruby-on-rails-3 ruby-on-rails-2
显然,升级到Rails 2.3后,我的会话存储已停止工作.我以前有这个:
session:session_expires => 3.years.from_now
在我的application_controller.rb中,但现在每次关闭浏览器(chrome)时,会话都会到期.我从某处读到session_expires会改为expire_after,但是
session:expire_after => 3.years.from_now
没有做任何好的事情.
在Rails v2.3,Ruby 1.8中,如果我在我的模型类中运行带有以下代码的sql语句:
ActiveRecord::Base.connection.execute("select count(*) from cars;")
Run Code Online (Sandbox Code Playgroud)
如何在服务器控制台中显示查询结果?
我试过了 :
rslt = ActiveRecord::Base.connection.execute("select count(*) from cars;")
p rslt
Run Code Online (Sandbox Code Playgroud)
但它只返回服务器控制台上的"MySQL结果对象",而不是确切的结果.
好的,这是一个奇怪的.
flash[:success] = 'some success message'
redirect_to :controller => 'media', :action => 'index'
Run Code Online (Sandbox Code Playgroud)
重定向后显示消息,事情是它再次出现在点击链接或转到我的应用程序中的另一个页面后(第一次重定向后)
我在MySql中进行了查询,但是在Rails和mysql2 gem中工作.
这是信息:
http://sqlfiddle.com/#!2/9adb8/6
Run Code Online (Sandbox Code Playgroud)
查询工作正常没有问题,并显示此结果:
UNIT V1 A1 N1 V2 A2 N2 V3 A3 N3 V4 A4 N4 V5 A5 N5
LIFE 2 0 0 1 2 0 0 0 0 0 0 0 0 0 0
ROB 0 1 0 0 1 2 0 0 0 0 0 0 0 0 0
Run Code Online (Sandbox Code Playgroud)
- 为rails 2.3.8安装了mysql2 gem
gem install mysql2 -v0.2.6
Run Code Online (Sandbox Code Playgroud)
- 控制器:
class PolicyController < ApplicationController
def index
@result = ActiveRecord::Base.connection.execute("select distinct @sql := concat('SELECT pb.name as unit,',group_concat(concat('SUM(CASE WHEN …Run Code Online (Sandbox Code Playgroud) 我是 Rails 的新手,我正在尝试在循环中渲染部分内容。
这里,books是一个预先加载到控制器中的数组。
books.each do |book|
<%= render 'books/book', :book => book %>
end
Run Code Online (Sandbox Code Playgroud)
这工作正常。但是当books数组真的很大时,视图完全加载需要时间。有没有其他有效的方法可以实现相同的目标?我也尝试了部分收藏(如这里),但即使如此,书籍的加载时间也没有太大区别。任何建议将不胜感激。谢谢。
ruby-on-rails-2 ×10
activerecord ×2
migration ×2
ruby ×2
end-of-life ×1
legacy-code ×1
mysql2 ×1
partials ×1
rspec ×1
ruby-1.8 ×1