小编Joh*_*hir的帖子

有没有一种简单的方法让pow服务https?

pow很棒,但是我的应用程序中的很多东西都假设是https,通过它们并添加"if not dev environment"会很痛苦.是否可以让pow服务https?

ssl https rack ruby-on-rails rack-pow

36
推荐指数
5
解决办法
7339
查看次数

使用ActiveRecord 3/Arel查找单个记录的最佳方法?

我曾经这样做过:

Foo.find_by_bar('a-value')
Run Code Online (Sandbox Code Playgroud)

我现在可以这样做:

Foo.where(:bar => 'a-value').limit(1).first
Run Code Online (Sandbox Code Playgroud)

这是推荐的吗?这是最好的方法吗?我应该继续使用"旧的"方式,因为它仍然是有用的语法糖,或者是否有更好的方式我现在可以做到这一点,这将支持链接和所有其他好东西?

ruby activerecord ruby-on-rails arel

36
推荐指数
4
解决办法
3万
查看次数

如何使用cURL获取目标网址?

当HTTP状态代码为302时,如何使用cURL获取目标URL?

<?PHP
$url = "http://www.ecs.soton.ac.uk/news/";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$html = curl_exec($ch);
$status_code = curl_getinfo($ch,CURLINFO_HTTP_CODE);

if($status_code=302 or $status_code=301){
  $url = "";
  // I want to to get the destination url
}
curl_close($ch);
?>
Run Code Online (Sandbox Code Playgroud)

html php curl http

35
推荐指数
4
解决办法
6万
查看次数

如何测试实例变量是在RSpec控制器中实例化的

我正在尝试检查我的RESTful控制器中的新操作是否设置了所需Object类型的实例变量.看起来非常典型,但执行它时遇到了麻烦

客户控制器

def new
  @client = Client.new
end  
Run Code Online (Sandbox Code Playgroud)

测试

describe "GET 'new'" do
  it "should be successful" do
    get 'new'
    response.should be_success
  end

  it "should create a new client" do
    get 'new'
    assigns(:client).should == Client.new
  end
end
Run Code Online (Sandbox Code Playgroud)

结果是...

'ClientsController GET 'new' should create a new client' FAILED
  expected: #,
       got: # (using ==)

这可能是因为它试图比较两个不同的活动记录实例.那么,我如何检查控制器是否设置了一个包含Client模型新实例的实例变量.

ruby rspec

35
推荐指数
3
解决办法
2万
查看次数

如何在Amazon S3中更改对象的元数据

如果您已将对象上传到Amazon S3存储桶,那么如何使用API​​更改元数据?可以在AWS管理控制台中执行此操作,但不清楚如何以编程方式完成此操作.具体来说,我在Python中使用boto API并且从阅读源代码可以清楚地看出,使用key.set_metadata只能创建对象之前工作,因为它只会影响本地字典.

python amazon-s3 boto

35
推荐指数
4
解决办法
3万
查看次数

如何解决延迟作业中的反序列化错误?

我正在尝试使用DelayedJob并且作业失败,在数据库中出现以下错误:

{Delayed::DeserializationError
/Library/Ruby/Gems/1.8/gems/delayed_job-2.1.3/lib/delayed/serialization/active_record.rb:7:in `yaml_new'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/yaml.rb:133:in `transfer'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/yaml.rb:133:in `node_import'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/yaml.rb:133:in `load'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/yaml.rb:133:in `load'
/Library/Ruby/Gems/1.8/gems/delayed_job-2.1.3/lib/delayed/backend/base.rb:79:in `payload_object'
/Library/Ruby/Gems/1.8/gems/delayed_job-2.1.3/lib/delayed/backend/base.rb:87:in `invoke_job_without_newrelic_transaction_trace'
(eval):3:in `invoke_job'
/Library/Ruby/Gems/1.8/gems/newrelic_rpm-2.13.4/lib/new_relic/agent/instrumentation/controller_instrumentation.rb:252:in `perform_action_with_newrelic_trace'
/Library/Ruby/Gems/1.8/gems/newrelic_rpm-2.13.4/lib/new_relic/agent/method_tracer.rb:141:in `trace_execution_scoped'
/Library/Ruby/Gems/1.8/gems/newrelic_rpm-2.13.4/lib/new_relic/agent/instrumentation/controller_instrumentation.rb:247:in `perform_action_with_newrelic_trace'
(eval):2:in `invoke_job'
/Library/Ruby/Gems/1.8/gems/delayed_job-2.1.3/lib/delayed/worker.rb:120:in `run'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/timeout.rb:62:in `timeout'
/Library/Ruby/Gems/1.8/gems/delayed_job-2.1.3/lib/delayed/worker.rb:120:in `run'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/benchmark.rb:308:in `realtime'
/Library/Ruby/Gems/1.8/gems/delayed_job-2.1.3/lib/delayed/worker.rb:119:in `run'
/Library/Ruby/Gems/1.8/gems/delayed_job-2.1.3/lib/delayed/worker.rb:177:in `reserve_and_run_one_job'
/Library/Ruby/Gems/1.8/gems/delayed_job-2.1.3/lib/delayed/worker.rb:104:in `work_off'
/Library/Ruby/Gems/1.8/gems/delayed_job-2.1.3/lib/delayed/worker.rb:103:in `times'
/Library/Ruby/Gems/1.8/gems/delayed_job-2.1.3/lib/delayed/worker.rb:103:in `work_off'
/Library/Ruby/Gems/1.8/gems/delayed_job-2.1.3/lib/delayed/worker.rb:78:in `start'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/benchmark.rb:308:in `realtime'
/Library/Ruby/Gems/1.8/gems/delayed_job-2.1.3/lib/delayed/worker.rb:77:in `start'
/Library/Ruby/Gems/1.8/gems/delayed_job-2.1.3/lib/delayed/worker.rb:74:in `loop'
/Library/Ruby/Gems/1.8/gems/delayed_job-2.1.3/lib/delayed/worker.rb:74:in `start'
/Library/Ruby/Gems/1.8/gems/delayed_job-2.1.3/lib/delayed/tasks.rb:9
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:636:in `call'
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:636:in `execute'
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:631:in `each'
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:631:in `execute'
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:597:in `invoke_with_call_chain'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/monitor.rb:242:in `synchronize'
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:590:in `invoke_with_call_chain'
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:583:in `invoke'
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2051:in `invoke_task'
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2029:in `top_level'
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2029:in `each'
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2029:in `top_level'
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2068:in …

ruby-on-rails delayed-job deserialization

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

使用ruby 1.9.3的iconv弃用警告

当我运行rspec时,我收到此警告:

/gems/activesupport-3.1.0/lib/active_support/dependencies.rb:240:in `block in require': iconv will be deprecated in the future, use String#encode instead.

我与轨道相同的警告3.1.0,3.1.1,3.1.2.rc2版本.似乎它与sqlite3宝石有关,但我不确定.ruby 1.9.2没有警告

有什么建议怎么处理吗?

ruby rspec ruby-on-rails

35
推荐指数
4
解决办法
2万
查看次数

如何在rails中默认使cookie安全(仅限https)?

在Rails控制器中,我可以像这样设置一个cookie:

cookies[:foo] = "bar"
Run Code Online (Sandbox Code Playgroud)

并指定"安全"(https-only)标志如下:

cookies[:foo, :secure => true] = "bar"
Run Code Online (Sandbox Code Playgroud)

:secure默认为false.如何在应用程序范围内默认使用cookie?

这是在Rails 2.3.8上

cookies ssl https ruby-on-rails

33
推荐指数
3
解决办法
2万
查看次数

如果URL不存在,请将http添加到URL?

我在我的模型中使用此正则表达式来验证用户提交的URL.我不想强迫用户输入http部分,但是如果它不在那里,我想自己添加它.

validates :url, :format => { :with => /^((http|https):\/\/)?[a-z0-9]+([-.]{1}[a-z0-9]+).[a-z]{2,5}(:[0-9]{1,5})?(\/.)?$/ix, :message => " is not valid" }
Run Code Online (Sandbox Code Playgroud)

知道我怎么能这样做吗?我对验证和正则表达式的经验很少..

ruby regex validation url ruby-on-rails

33
推荐指数
4
解决办法
2万
查看次数

如何配置设计以使用自定义电子邮件布局?

当我说布局时我并不仅仅意味着视图,我生成那些.在我自己的邮件上,我正在使用默认布局.我在SomeMailer.rb文件中定义

#some_mailer.rb
class SomeMailer < ActionMailer::Base
  layout 'sometemplate'
Run Code Online (Sandbox Code Playgroud)

我是否可以通过某种方式为Devise Mailer等人做到这一点?

ruby-on-rails mailer devise ruby-on-rails-3

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