小编Ken*_*enB的帖子

我如何要求特定版本的红宝石宝石?

具体来说,红宝石oci8宝石.我安装了1.0.7和2.0.4.我想要1.0.7.

我可以只需要oci8,但我没有得到我想要的版本.

irb(main):001:0> require 'oci8'
=> true
irb(main):002:0> OCI8::VERSION
=> "2.0.4"
Run Code Online (Sandbox Code Playgroud)

我可以要求使用文件的完整路径,它可以工作,但不会是可移植的:

irb(main):001:0> require 'C:\Ruby\lib\ruby\gems\1.8\gems\ruby-oci8-1.0.7-x86-mswin32-60\lib\oci8'
=> true
irb(main):002:0> OCI8::VERSION
=> "1.0.7"
Run Code Online (Sandbox Code Playgroud)

我可以使用gem命令来询问我想要的版本,但它似乎没有实际加载库:

irb(main):001:0> gem 'ruby-oci8', :lib=>'oci8', :version=>'=1.0.7'
=> true
irb(main):002:0> OCI8::VERSION
NameError: uninitialized constant OCI8
    from (irb):2
Run Code Online (Sandbox Code Playgroud)

如果加载库,我肯定会支持这种最后的方法,而不仅仅是确认它存在于我的系统中.我错过了什么?

ruby gem version oci8

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

在Rails中,如何在不通过数据库的情况下检索belongs_to关联上的对象?

请考虑以下设置:

class Parent < ActiveRecord::Base
  has_many :children
end

class Child < ActiveRecord::Base
  belongs_to :parent
end
Run Code Online (Sandbox Code Playgroud)

这个控制台会话:

>> p = Parent.find 41
>> p.some_attr = 'some_value'
>> c = p.children.build
>> c.parent
Run Code Online (Sandbox Code Playgroud)

通过观察我的日志文件,我可以看到c.parent正在查询父对象的数据库.我想要访问现有的内存中对象(p),因为我需要访问父的some_attr值,该值尚未存储在数据库中.有没有办法做到这一点?c.parent(force_reload = false)不会让我在那里.

ruby-on-rails associations belongs-to

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

标签 统计

associations ×1

belongs-to ×1

gem ×1

oci8 ×1

ruby ×1

ruby-on-rails ×1

version ×1