草庐IT

namespace-scoped

全部标签

ruby-on-rails - 攻击 ActiveRecord : add global named scope

我正在尝试为像这样的ActiveRecord模型提供一组非常通用的命名范围:moduleScopesdefself.included(base)base.class_evaldonamed_scope:not_older_than,lambda{|interval|{:conditions=>["#{table_name}.created_at>=?",interval.ago]}endendendActiveRecord::Base.send(:include,Scopes)classUser如果命名范围应该是通用的,我们需要指定*table_name*以防止命名问题,如果它们是来自

ruby - Rails3 : combine scope with OR

我需要将名称范围与or运算符组合...像这样的东西:classProduct谢谢 最佳答案 来自AreldocumentationTheORoperatorisnotyetsupported.Itwillworklikethis:users.where(users[:name].eq('bob').or(users[:age].lt(25)))ThisRailsCast向您展示如何使用.or运算符。但是,当您拥有ActiveRecord::Relation实例时,它可以与Arel对象一起使用。您可以使用Product.name_a.

ruby - ruby 中的短 namespace 首字母缩写词

我是ruby的新手。我使用IronRuby,我的ruby​​代码有很长的命名空间:Company::Division::Group::Product::Package.new因为我多次使用这个ns有没有办法创建一个快捷方式?在c#中,我添加了一个using子句,因此我不需要指定完整的前缀。 最佳答案 您可以简单地将它分配给另一个常量,例如:Package=Company::Division::Group::Product::PackagePackage.new 关于ruby-ruby中的

ruby-on-rails - 在 Controller 中找不到 namespace 内的 Ruby on Rails 模型

我是Rails的新手,无法弄清楚这个问题...我有一个ControllerAdmin::Blog::EntriesController在app/controllers/admin/blog/entries_controller.rb中定义我有一个模型叫做Blog::Entry定义在app/model/blog/entry.rb当我尝试从Controller访问我的模型时,我从这一行得到一个"uninitializedconstantAdmin::Blog::EntriesController::Blog":@blog_entries=Blog::Entry.find(:all)很明显,

ruby-on-rails - 使用 named_scope 获取行数

Rails专家:感谢另一位SO用户,我刚刚发现了named_scope。:)我想获取一组行的计数-即SELECTCOUNT(*)。此外,我希望仍然能够在调用中链接命名范围。这是命名范围的合法(尽管很奇怪)用法吗?named_scope:count,:select=>"COUNT(*)ascount_all"然后我可以做(例如):@foobar=Foobar.count.scope.scope.scope计数通过@foobar.first.count_all访问。(EditedtoaddressAllan'scomments)你可以这样做:@foobar=Foobar.scope.sco

ruby - 使用生成器(包括 namespace )创建 Ruby on Rails 3 gem

我正在尝试为Rails3(beta4)创建一个带有生成器的gem。我关注了theseinstructions,但我无法让它运行。问题是,当我在生成器文件中定义模块时,生成器被列为“railsgenerate”,但由于未找到生成器而无法执行。根据说明(不适用于“railsgeneratemy_gem:install”):moduleMyGemclassInstallGenerator已修改(与“railsgenerateinstall”一起使用):classInstallGenerator但是,我想为生成器设置命名空间,例如company:gem_name:generator,为此我必须

ruby-on-rails - 如何让 Rails 中的 named_scope 返回一个值而不是数组?

我想写一个namedscope从它的id中获取记录。例如,我有一个名为Event的模型,我想使用named_scope来模拟Event.find(id)future的灵active。我在我的模型中使用了这段代码:named_scope:from_id,lambda{|id|{:conditions=>['id=?',id]}}我从我的Controller调用它,如Event.from_id(id)。但我的问题是它返回一组Event对象而不是一个对象。因此如果我想获取事件名称,我必须写event=Event.from_id(id)event[0].name而我想要的是event=Even

ruby-on-rails - rails 4 : how to use named scope with has_many associations

在我的Rails4应用程序项目(模型)has_many视频(模型)中。我在视频模型中有一个命名范围:scope:live,where(is_deleted:0,sent_to_api:1)在我的一个项目View中,我这样做(项目是项目的一个实例):project.videos.live.size我希望得到的是那个特定项目中的项目数量,但我得到的是任何项目中的视频数量。就好像.live不是从.videos返回一个子集而是替换它。我看到它解释了here将命名范围相互链接起来应该与逻辑AND相结合,但是当应用于“关联方法”时[.videos在这种情况下的正确术语]似乎并不即将发生。正确的做法

ruby-on-rails - 带连接的 Rails named_scopes

我正在尝试创建一个使用连接的named_scope,但尽管生成的SQL看起来正确,但结果却是垃圾。例如:classClip"INNERJOINseriesONseries.id=clips.owner_idINNERJOINshowsonshows.id=series.show_id",:conditions=>"shows.visible=1ANDclips.owner_type='Series'"}(一个剪辑属于一个系列,一个系列属于一个节目,一个节目可以是可见的或不可见的)。Clip.all可以:SELECT*FROM`clips`Clip.visible.all可以:SELEC

ruby 心印 : explicit scoping on a class definition part 2

我想澄清这个原始post的一些事情.答案建议Ruby按以下顺序搜索常量定义:封闭范围任何外部范围(重复直到达到顶层)包含的模块父类(superclass)对象内核所以澄清一下,在第(1-6)步是为legs_in_oyster找到的常量LEGS的值?它来自父类(superclass)Animal吗?类MyAnimals的范围是否因为不被视为封闭范围而被忽略?这是由于明确的MyAnimals::Oyster类定义吗?谢谢!只是想了解。这是代码:classAnimalLEGS=4deflegs_in_animalLEGSendclassNestedAnimaldeflegs_in_neste