标签: ruby-on-rails-2

在Rails 2 ERB视图中为/ public中的文件生成URL

在我的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',但那是什么?我可以在视图中引用变量吗?这是未定义的.

ruby-on-rails-2

7
推荐指数
1
解决办法
1万
查看次数

Rspec - 检查数组是否具有与其他元素相同的元素,无论顺序如何

我不确定它是否是一个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)

问候

ruby rspec ruby-on-rails ruby-on-rails-2

7
推荐指数
3
解决办法
9003
查看次数

6
推荐指数
1
解决办法
2247
查看次数

如何将参考列更改为多态?

我的模型(酒吧)已经有一个参考列,我们称之为foo_id,现在我需要改变foo_id,以fooable_id使之多态性.

我想我有两个选择:

  • 创建fooable多态的新参考列并从中迁移ID foo_id (迁移这些的最佳方法是什么?我可以做吗?Bar.each { |b| b.fooable_id = b.foo_id }?
  • 重命名foo_idfooable_id并添加polymorphicfooable_id.如何将多态添加到现有列?

migration activerecord ruby-on-rails ruby-on-rails-2

6
推荐指数
2
解决办法
4744
查看次数

单表继承和命名空间类的'type'值

在处理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::GuestReservation::Event实例时,type保存的值是Reservation::GuestReservation::EventRails 3中的.但是在Rails 2中,它保存没有名称空间即,GuestEvent.

它需要付出很多努力来迁移现有数据并更改所有type不需要命名空间的地方.

如果type不在命名空间中进行大量修改,是否可以在没有命名空间和休息的情况下进行保存?

migration legacy-code single-table-inheritance ruby-on-rails-3 ruby-on-rails-2

6
推荐指数
2
解决办法
2283
查看次数

Rails中的会话管理(2.3)

显然,升级到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

没有做任何好的事情.

ruby-on-rails ruby-on-rails-2

5
推荐指数
1
解决办法
2158
查看次数

如何在服务器控制台上显示sql结果

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结果对象",而不是确切的结果.

activerecord ruby-on-rails ruby-on-rails-2

5
推荐指数
2
解决办法
7374
查看次数

使用redirect_to时显示两次Flash消息(Rails 2)

好的,这是一个奇怪的.

flash[:success] = 'some success message'
redirect_to :controller => 'media', :action => 'index'
Run Code Online (Sandbox Code Playgroud)

重定向后显示消息,事情是它再次出现在点击链接或转到我的应用程序中的另一个页面后(第一次重定向后)

ruby-on-rails ruby-on-rails-2

5
推荐指数
1
解决办法
1941
查看次数

如何在rails视图中迭代数组?

我在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)

ruby ruby-on-rails mysql2 ruby-on-rails-2

5
推荐指数
1
解决办法
2万
查看次数

Rails 在循环中呈现部分

我是 Rails 的新手,我正在尝试在循环中渲染部分内容。

这里,books是一个预先加载到控制器中的数组。

 books.each do |book|
   <%= render 'books/book', :book => book %>
 end
Run Code Online (Sandbox Code Playgroud)

这工作正常。但是当books数组真的很大时,视图完全加载需要时间。有没有其他有效的方法可以实现相同的目标?我也尝试了部分收藏(如这里),但即使如此,书籍的加载时间也没有太大区别。任何建议将不胜感激。谢谢。

ruby-on-rails partials ruby-1.8 ruby-on-rails-2

5
推荐指数
1
解决办法
4833
查看次数