jjzjj

ruby-on-rails - ruby rails : How do you prefix named routes?

我希望生成一个链接,该链接的前缀附加到命名路由本身。像这样显示路径“/old/recipes”:recipes_path(:prefix=>"old/")#thecorrectwayshouldshow"/old/recipes"我不想动routes.rb文件,而是修改带前缀的命名路由。这可能吗?您将如何正确地做到这一点?编辑:我正在使用Rails3。添加可选前缀的原因是我也想使用普通的recipes_path。所以我想同时使用“/recipes”和“/old/recipes”。 最佳答案 如果您不想触及路由文件,您将会遇到很多麻烦

ruby-on-rails - rails 3 缓存 : expire action for named route

我的Controller有这个:caches_action:render_ticker_for_channel,:expires_in=>30.seconds在我的路由文件中我有这个:match'/render_c_t/:channel_id'=>'render#render_ticker_for_channel',:as=>:render_channel_ticker在日志文件中我看到了这个:Writefragmentviews/mcr3.dev/render_c_t/63(11.6ms)我如何手动使它过期?我需要从与渲染Controller不同的Controller使它过期,但即使

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-on-rails - 混合 ActiveRecord 查找条件

我想根据created_on>=somedateANDnameINsomelistofnames的组合查找记录。对于“>=”,我必须使用sql条件。对于“IN”,我必须使用条件散列,其中键是:name,值是名称数组。有没有办法将两者结合起来? 最佳答案 您可以在rails2.1及更高版本中使用命名作用域ClassTest"created_on>2005-01-01"named_scope:named_fred,:conditions=>{:name=>"fred"}end那么你可以做Test.created_after_2005.n

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-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-on-rails - rails : Testing named scopes with RSpec

我是测试Rails网络应用程序和RSpec的新手。我使用遗留代码并需要添加测试。那么使用RSpec测试查找器和命名范围的最佳方法是什么?我在Google中找到了一些方法,但它们并不理想。例如:http://paulsturgess.co.uk/articles/show/93-using-rspec-to-test-a-named_scope-in-ruby-on-railsit"excludesusersthatarenotactive"do@user=Factory(:user,:active=>false)User.active.should_notinclude(@user)e

ruby-on-rails - Rails : named_scope, lambda 和 block

我认为下面两个是等价的:named_scope:admin,lambda{|company_id|{:conditions=>['company_id=?',company_id]}}named_scope:admin,lambdado|company_id|{:conditions=>['company_id=?',company_id]}end但Ruby正在提示:ArgumentError:triedtocreateProcobjectwithoutablock有什么想法吗? 最佳答案 这是一个解析器问题。试试这个named_s