小编sch*_*jos的帖子

如何将ruby哈希对象转换为JSON?

如何将ruby哈希对象转换为JSON?所以我在下面尝试这个例子它不起作用?

我在看RubyDoc,显然Hash对象没有to_json方法.但我正在阅读Rails支持active_record.to_json并支持的博客hash#to_json.我可以理解ActiveRecord是一个Rails对象,但Hash它不是Rails本机的,它是一个纯Ruby对象.所以在Rails中你可以做一个hash.to_json,但不是纯粹的Ruby?

car = {:make => "bmw", :year => "2003"}
car.to_json
Run Code Online (Sandbox Code Playgroud)

ruby json ruby-on-rails hashmap

320
推荐指数
4
解决办法
27万
查看次数

将String转换为DateTime

我需要将以下String解析为DateTime对象:
30/Nov/2009:16:29:30 +0100

是否有捷径可寻?

PS:我想按原样转换上面的字符串.年后的冒号不是拼写错误.我也想用Ruby而不是RoR解决问题.

ruby time parsing date

93
推荐指数
7
解决办法
14万
查看次数

网络单元的定义:片段,段,包,帧,数据报

网络术语中使用了哪些单位?我们在哪里使用它们?

我知道以下内容 - 但我不确定它们的含义是什么:

  • 分段
  • 分割
  • 数据报

它们可以分配到特定的OSI层吗?它更复杂吗?

ip networking definition osi

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

DropZone acceptedFiles类型过滤器

我有一个完美的DropZone表单,有一个例外,我似乎无法像我需要的那样精确地限制文件类型.

使用acceptedFiles: "image/*"dims所有文件夹和非图像的文件类型,应该如此.虽然包含TIFF,但我需要将其减少为JPGPNG.很多反复试验并没有让我在那里.

我尝试了什么:

acceptedFiles: "image/jpg"
acceptedFiles: ".jpeg,.jpg,.png"
acceptedFiles: "image/jpg,png"
Run Code Online (Sandbox Code Playgroud)

但它们都使一切都可以选择.

JPGPNG的正确格式是什么?

dropzone.js

15
推荐指数
1
解决办法
4万
查看次数

使用formdata追加@ HTML.BeginForm而不调用ajax

我想要实现的是将一个文件追加到一个帖子请求,这是我从一个带有javascript的拖放字段获得的.问题是,我不想读取所有输入字段并通过ajax调用发布数据,我想使用默认的提交方法@HTML.BeginForm.当我这样做时,multipart并不真正包含该文件.

(注意:当我提交文件或手动读取所有输入字段并使用单独的ajax提交时,它可以正常工作.)

我的代码:拖放js:

var file;
var isDragged = false;
var formData;
function dropHandler(ev) {
    isDragged = true;
    ev.preventDefault();
    // Use DataTransfer interface to access the file(s)
    for (var i = 0; i < ev.dataTransfer.files.length; i++) {
        file = ev.dataTransfer.files[i];

        formData = new FormData($("#form"));
        formData.append("File.PayLoad", file);
        formData.append("File.FileMetadataId", $('#File_FileMetadataId').val())
        formData.append("File.FileObjectId", $('#File_FileObjectId').val())      
   }
}
Run Code Online (Sandbox Code Playgroud)

HTML:

  @using (Html.BeginForm("Edit", "DocumentTemplates", FormMethod.Post, new { role = "form", enctype = "multipart/form-data", id = "form" }))
    {
     @Html.AntiForgeryToken()
     <div class="row">
         <div class="col-xs-4">
             @Html.LabelFor(model => …
Run Code Online (Sandbox Code Playgroud)

javascript forms asp.net asp.net-mvc jquery

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

RSpec:服务测试的最准确类型

使用rspec测试普通ruby类(PORO)的最准确的测试类型是什么- 在我的例子中是一个服务.通常我会用一个:model测试.

但仅仅是为了惯用测试:有没有办法让rspec测试比:model类型更薄?

ruby unit-testing rspec

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

ActiveModel:验证相等性的值

我有一个ActiveModel类,其实例仅在被触摸时才有效。以下代码有效:

class Base
  include ActiveModel::Model
  validates :touched?, inclusion: { in: [true] }

  def update(params = {})
    initialize(params)
    @touched = true
  end

  def touched?
    !!@touched
  end
end
Run Code Online (Sandbox Code Playgroud)

但我不喜欢它。这不太好。我想写这样的东西:

validates: touched?, equality: true
Run Code Online (Sandbox Code Playgroud)

有没有更好/更短的编写方式而不使用自定义验证器?如果它也适用于booleans以外的值,那就太好了。

validation ruby-on-rails activemodel

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

内容安全策略:default-src *

我开始在使用内联脚本和其他犯罪行为的网站上探索“内容安全策略”。我为每个标头字段配置了CSP,如下所示:

content-security-policy: default-src *; frame-ancestors 'self'; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net *.stripe.com; report-uri https://sentry.io/api/x/csp-report/?sentry_key=y
Run Code Online (Sandbox Code Playgroud)

我现在的问题是浏览器抱怨以下消息:

拒绝执行内联脚本,因为它违反了以下内容安全策略指令:“ default-src *”

我阅读了文档,default-src <source>其状态<source>可能是以下来源之一:

  • <host-source>
  • <scheme-source>
  • 'self'
  • 'unsafe-inline'
  • 等等

在我看来,星号只能用于宿主源。但是由于<source>似乎只允许一个人,我还能做什么?default-src * 'unsafe-inline'不符合要求,对吧?

我的目标基本上是使用一个可行的最小CSP配置(并且可以通过iframe嵌入)。我知道,遵循特定规则是最佳做法。

security iframe content-security-policy

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

Ruby 中的身份方法工厂

Ruby 中是否有接收简单返回其参数的 lambda 的快捷方式?

我正在尝试具有以下功能:

def some_method(x, y, decorator = ->(x) { x })
  …
end
Run Code Online (Sandbox Code Playgroud)

改写成看起来有点像

def some_method(x, y, decorator = method(:itself))
  …
end
Run Code Online (Sandbox Code Playgroud)

也许有一种方法可以改变接收器Object#itself

ruby ruby-stdlib

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

Gemfile:github参考中branch和ref之间的区别

Gemfile中,可以引用github上托管的gem:

gem 'spree', github: 'spree/spree', branch: '2-3-stable'
gem 'spree_gateway', github: 'spree/spree_gateway', ref: '2-1-stable'
Run Code Online (Sandbox Code Playgroud)

的Gemfile手册页介绍了git的三个属性:分支,REF标签.ref和之间有什么区别branch?Bundler如何根据属性不同地处理gem?

这尤其有趣,因为您一次只能使用其中一个属性.

ruby bundler gemfile

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