Rails ArgumentError(缺少必需:bucket选项)修复不起作用?

我的Rails应用程序托管在Heroku上,但我需要让Paperclip在本地工作,以便我可以在测试中上传照片。 我真的很接近,但我坚持“缺少必需:桶选项”错误。 我尝试在环境文件中移动设置,以及添加带有AWS凭据的config / application.yml文件,但没有骰子。 这是我在development.rb中的配置(在production.rb中看起来相同): config.paperclip_defaults = { :storage => :s3, :s3_credentials => { :bucket => ENV[‘S3_BUCKET_NAME’], :access_key_id => ENV[‘AWS_ACCESS_KEY_ID’], :secret_access_key => ENV[‘AWS_SECRET_ACCESS_KEY’] } } 我试过移动:bucket属性在s3_credentials之外,但它没有改变任何东西。 Application.yml看起来像这样: AWS_ACCESS_KEY_ID=”xxxxxxxxxxxxxxxxx” AWS_SECRET_ACCESS_KEY=”xxxxxxxxxxxxxxxxxxxx” S3_BUCKET_NAME=”xxxxxx” 我还安装了dot-env gem并将s3.env文件添加到我的应用程序的索引中,该索引包含与上面相同的凭据,但即使这样也没有用。 也没有将我的Paperclip配置添加到我的模型中的has_attached_file中。 我该怎么办??

ActiveRecord对子集或记录的计算

我有一个带有points属性的Game模型,我想计算前20个得分的总和。 我可以采取积分并让ruby计算总和,如: Game.order(‘points desc’).limit(20).pluck(:points).sum 但我很好奇是否有一种直接的方法让AR产生一个SQL聚合计算来实现同样的目的。 以下天真的尝试不起作用: Game.sum(:points, order: ‘points desc’, limit: 20) SELECT SUM(`games`.`points`) FROM `games` 谢谢

Searchkick高级搜索正文子句使where子句无效

如果我使用searchkick进行高级搜索,请搜索如下弹性搜索: products = Activity.search body: {query: {bool: {must: [{ range: { min_age: {lte: 5} } }, { range: { max_age: {gte: 3} } } ] } } }, where: { category: “Programs”, start_time: ‘2015-07-22’ } …没有应用where子句。 这是预期的吗? 我必须使用body来实现我的所有查询吗? 有没有办法在searchkick中解决这个问题? 慢日志输出: [2015-07-29 21:03:53,369][INFO ][index.search.slowlog.query] [ES Dev] [activities_development_20150729165655530][2] took[21.1ms], took_millis[21], types[], stats[], search_type[QUERY_THEN_FETCH], total_shards[5], source[{“query”:{“bool”:{“must”:[{“range”:{“min_age”:{“lte”:5}}},{“range”:{“max_age”:{“gte”:3}}}]}}}], extra_source[],

从Rails(表单)向Javascript发送数据

我在Rails中存储了一些数据,然后我从Javascript访问。 (我正在使用gon gem这样做)。 当我在控制器中对字符串值(对于gon)进行硬编码时,它工作正常,我可以从javascript访问这些数据: #set in rails, available in JS gon.stuff = { “1” => “one stuff\n print ‘hi’.. “, “2” => “two stuff\n print ‘by’ “} 但是,当我通过Rails表单提交数据(到Post的’stuff’列)时,它最终会“过度字符串化”,因此它在Javascript中显示为一个完整的字符串: post.stuff text_area: { “1” => “stuff about one\n more stuff.. “, “2” => “two stuff\n more stuff”} 在rails中设置数据: gon.stuff = @post.stuff JS数据最终为完整字符串: “{ “1” => “stuff about […]

使用rails_admin gem使用roll自己的身份validation

如果您没有使用设备,如何使用rails_admin gem实现身份validation,例如您已经推出了自己的身份validation?

如何在Savon中生成重复的xml元素?

soapUI在它构建的请求XML中的许多地方生成此注释Zero or more repetitions 。 这是XML请求的一部分。 ? ? cid:1220950351678 我使用Savon 2.2.0与外部服务进行通信。 Ruby hashes需要唯一的密钥。 我尝试以格式传递一组哈希 attachments: [{attachment: {file_name: “foo1”, file_extension: “bar1″, file_contents:”binary_encoded_content”}}, {attachment: {file_name: “foo2”, file_extension: “bar2”, file_contents: “binary_encoded_content”}}] 但在这种情况下,Savon只在数组上执行to_s 。 我怎样才能做到这一点?

如何使用RSpec测试ThinkingSphinx

我在模型中有一个类方法,它调用thinking_sphinx的search()方法。 我需要检查这个类方法。 我想在我的rspec测试用例中启动,索引或停止sphinx。 我正在尝试这段代码。 before(:all) do ThinkingSphinx::Test.start end after(:all) do ThinkingSphinx::Test.stop end 在我触发搜索查询之前,在每个测试用例中使用此代码 ThinkingSphinx::Test.index 但是在我触发搜索查询后,它仍然给出了空结果,尽管测试数据库中存在完全匹配。 如果您在think_sphinx中使用rspec,请引导我使用代码示例

从域发送请求到特定Rails引擎

我在Rackspace VPS上运行了一个rails应用程序。 堆栈是rails3 + unicorn + nginx + mysql。 有一个主域使用proxy_pass将流量直接发送到unicorn套接字。 我开发了一种安装在/digital下的新引擎。 现在,人们可以通过http://primarydomain.com/digital与该引擎进行交互。 我想托管一个新的域名,直接将请求转发到/digital ; 不是根引擎。 因此,例如,以下请求将产生等效结果: http://primarydomain.com/digital/splash http://alternatedomain.com/splash 在完美的世界中,引擎将是一个单独的应用程序。 我想表现得好像单独的域是一个单独的应用程序,虽然它真的是一个挂载的引擎。 这是routes.rb样子: Company::Application.routes.draw do root :to => ‘spree/home#splash’ ActiveAdmin.routes(self) mount Core::Engine, :at => ‘/’ mount Another::Engine, :at => ‘/digital’ end 我需要什么rails + nginx配置来实现这个function?

Rails尝试在创建用户后创建配置文件

我正在试图弄清楚如何为刚刚创建的用户创建新的配置文件, 我在User模型上使用设计,User模型与UserProfile模型有一对一的关系。 这是我的用户模型的样子: class User ‘username’) end # Include default devise modules. Others available are: # :confirmable, :lockable, :timeoutable and :omniauthable devise :database_authenticatable, :registerable, :recoverable, :rememberable, :trackable, :validatable end 这会产生以下错误: nil的未定义方法`new’:NilClass 我在rails c中尝试过User.find(1).user_profile ,这样可行,所以我很确定关系设置正确, 我可能是一个胖胖的大菜,并且试图错误地取自我。 你还可以告诉我如何访问模型中的参数…是否可能?

为什么Paperclip在生产+开发中无声地失败?

我对此发生的事情一无所知,因为我在同一台服务器上有另一个应用程序接收并保存上传就好了。 没有错误消息,Paperclip甚至在日志中说出它正在保存附件。 但附件没有得到保存。 想什么? 另外我如何使用RSpec / Capybara测试这个,因为显然我的测试不包括这个。 运行Paperclip 2.3.12,Rails 3.0.9,REE1.8.7 在RHEL5 / Apache上生产,但运行的用户与我的其他应用程序用户不同。 更新我在开发上也得到了同样的静默失败! 但我的测试通过,我可以看到图像上传与测试。