小编Fre*_*ung的帖子

混淆使用Rails.cache.fetch缓存Active Record查询

我的版本是:

  • Rails:3.2.6
  • 达利:2.1.0

我的环节是:

  • config.action_controller.perform_caching = true
  • config.cache_store =:dalli_store,'localhost:11211',{:namespace =>'MyNameSpace'}

我写的时候:

 Rails.cache.fetch(key) do
     User.where('status = 1').limit(1000)
 end
Run Code Online (Sandbox Code Playgroud)

无法缓存用户模型.如果我使用

 Rails.cache.fetch(key) do
     User.all
 end
Run Code Online (Sandbox Code Playgroud)

它可以缓存.如何缓存查询结果?

caching ruby-on-rails

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

将CSV文件导入Excel

我想请求您提供以下帮助:

我有从我需要在Excel中导入的软件应用程序导出的CSV文件来分析数据.每日生成40-50个CSV.现在我通过"从文本中获取外部数据"手动执行此操作.导入期间记录的代码是:

With ActiveSheet.QueryTables.Add(Connection:= _
    "TEXT;SYSTEM:Users:catalin:Documents:LINELLA:WH Analytics:data:pick 01-18:050:Inquiry closed lists  SKU_0142.csv" _
    , Destination:=Range("A1704"))
    .Name = "Inquiry closed lists  SKU_0142"
    .FieldNames = True
    .RowNumbers = False
    .FillAdjacentFormulas = False
    .RefreshOnFileOpen = False
    .BackgroundQuery = True
    .RefreshStyle = xlInsertDeleteCells
    .SavePassword = False
    .SaveData = True
    .AdjustColumnWidth = True
    .TextFilePromptOnRefresh = False
    .TextFilePlatform = xlMacintosh
    .TextFileStartRow = 1
    .TextFileParseType = xlDelimited
    .TextFileTextQualifier = xlTextQualifierDoubleQuote
    .TextFileConsecutiveDelimiter = False
    .TextFileTabDelimiter = True
    .TextFileSemicolonDelimiter = False
    .TextFileCommaDelimiter = False
    .TextFileSpaceDelimiter = False
    .TextFileOtherDelimiter = ";" …
Run Code Online (Sandbox Code Playgroud)

csv import excel vba

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

如何在语言环境发生变化时使片段缓存失效?

我正在尝试使用片段缓存来缓存使用I18n的Ruby on Rails站点上的页脚和导航栏.问题是,更改语言然后会以错误的语言显示页脚和导航栏.当语言环境发生变化时,如何使片段缓存失效?

caching ruby-on-rails internationalization

7
推荐指数
2
解决办法
2058
查看次数

如何模拟aws-sdk gem?

我有一些代码使用aws-sdkgem 将文件上传到Amazon S3 .显然它会上传一个HTTP来上传文件.

有没有一种很好的方法来模拟aws-sdk gem的这个功能?

我尝试使用Webmock,但aws-sdk gem似乎首先做了get latest/meta-data/iam/security-credentials/.似乎使用Webmock可能不是模拟此功能的最佳方式.

在RSpec工作.

ruby rspec amazon-s3 amazon-web-services

7
推荐指数
2
解决办法
8391
查看次数

在Rails查看问题中进行多元化

我有一个关于复数函数的问题.在我看来,我有以下代码行.它传入具有一定数量投票的项目,以确定"投票"这个词是否应该复数.

 <%= pluralize(item.votes, 'Vote') %>
Run Code Online (Sandbox Code Playgroud)

我的问题是我的观点传出了"投票"这个词,然后是一定数量的投票(item.votes).我只希望它传出"投票"这个词.非常感谢您的想法.

ruby-on-rails pluralize plural ruby-on-rails-3 ruby-on-rails-3.1

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

在linux上安装mysql2 gem

我想在linux上安装一个gem,但它给了我一个错误:

An error occured while installing mysql2 (0.3.11), and Bundler cannot continue.
Make sure that gem install mysql2 -v '0.3.11' succeeds before bundling.
Run Code Online (Sandbox Code Playgroud)

我现在需要做什么?

ruby-on-rails

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

Rails功能失常,需要机架1.3.5,有1.4.0但无法安装1.3.5

$ rails

/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:777:in `report_activate_error': RubyGem version error: rack(1.4.0 not ~> 1.3.5) (Gem::LoadError)
            from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:211:in `activate'
            from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:246:in `activate'
            from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:245:in `each'
            from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:245:in `activate'
            from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:246:in `activate'
            from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:245:in `each'
            from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:245:in `activate'
            from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:1056:in `gem'
            from /usr/bin/rails:18
Run Code Online (Sandbox Code Playgroud)

然后我试试这个:

$ sudo gem install rack 1.3.5

密码:

成功安装了机架1.4.0

错误:无法在本地或存储库中找到gem 1.3.5

安装1个宝石

安装rack-1.4.0的ri文档...

无法读取termcap数据库;

使用哑终端设置.

安装rack-1.4.0的RDoc文档...

然后再次但不同:

rails
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:230:in `activate': can't activate rack (~> 1.3.5, runtime) for ["actionpack-3.1.3", "rails-3.1.3"], already activated rack-1.4.0 for ["rack-cache-1.1", "actionpack-3.1.3", "rails-3.1.3"] (Gem::LoadError)
from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:246:in `activate'
    from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:245:in …
Run Code Online (Sandbox Code Playgroud)

gem install rack ruby-on-rails

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

如何在不引发父事件的情况下为子菜单项设置点击事件?

我有这个代码:

<Menu IsMainMenu="True">
    <MenuItem Header="Parent" Click="ParentItem_Click" >
        <MenuItem Header="Child" Click="ChildItem_Click">
        </MenuItem>
    </MenuItem>
</Menu>
Run Code Online (Sandbox Code Playgroud)

当我单击子MenuItem时,父MenuItem也将被提升。我不希望那个父母事件发生。

c# wpf

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

为什么在活动记录范围中使用lambdas

我正在阅读Beginning Rails 3.这本书创建了一个用户可以发布文章的项目.现在在Article对象中,他们创建了3个范围,如下所示:

scope :published, where("articles.published_at IS NOT NULL")
scope :draft, where("articles.published_at IS NULL")
scope :recent, lambda { published.where("articles.published_at > ?", 1.week.ago.to_date)}
Run Code Online (Sandbox Code Playgroud)

现在lambda我可以用这个scope语句替换它的最后一个函数,我得到了相同的结果:

scope :recent, where("published_at > ?", 1.week.ago.to_date)
Run Code Online (Sandbox Code Playgroud)

在这里使用lambda有什么好处?

ruby ruby-on-rails-3

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

铁路布线模糊

是什么之间的差异:

http://localhost:3000/courses/edit.2
and 
http://localhost:3000/courses/edit?id=2
Run Code Online (Sandbox Code Playgroud)

它由<%= edit_courses_path(course)%>生成

和link_to({action :: edit,id:course.id})分别

http://localhost:3000/courses/edit.2 # This link does not work
http://localhost:3000/courses/edit?id=2 # This link works
Run Code Online (Sandbox Code Playgroud)

我该怎么做才能使这两个链接都有效?

routing ruby-on-rails

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