我有一个Jekyll博客,我正在尝试推送到AWS S3存储桶.我已经按照本教程.
构建不断失败.Wercker给我以下错误消息:
在master上构建失败
设置环境
GET https://registry.hub.docker.com/v1/repositories/wercker/ruby/images返回404
它显示我的wercker.yml文件:
box: wercker/ruby
no-response-timeout: 10
build:
steps:
- bundle-install
- script:
name: Run Jekyll doctor
code: bundle exec jekyll doctor
- script:
name: Build Jekyll site
code: bundle exec jekyll build --trace
deploy:
steps:
- s3sync:
key_id: $AWS_ACCESS_KEY_ID
key_secret: $AWS_SECRET_ACCESS_KEY
bucket_url: $AWS_BUCKET_URL
source_dir: _site/
opts: --acl-public --add-header=Cache-Control:max-age=3600
Run Code Online (Sandbox Code Playgroud)
我不在这里.Google仅返回其他Wercker页面,并显示相同的错误消息.是什么导致错误?我需要采取哪些措施来解决这个问题?
这是错误页面本身的链接.
任何帮助,将不胜感激!谢谢.
是否可以从属于某个特征的静态方法中确定使用该特征的类的名称?
例如:
trait SomeAbility {
public static function theClass(){
return <name of class using the trait>;
}
}
class SomeThing {
use SomeAbility;
...
}
Run Code Online (Sandbox Code Playgroud)
获取班级名称:
$class_name = SomeThing::theClass();
Run Code Online (Sandbox Code Playgroud)
我的直觉可能不是。我没有找到其他建议的东西。
我有一个名为 的模块Notifier。
module Notifier
def self.prepended(host_class)
host_class.extend(ClassMethods)
end
module ClassMethods
def emit_after(*methods)
methods.each do |method|
define_method(method) do |thing, block|
r = super(thing)
block.call
r
end
end
end
end
end
Run Code Online (Sandbox Code Playgroud)
它公开了一个类方法emit_after。我这样使用它:
class Player
prepend Notifier
attr_reader :inventory
emit_after :take
def take(thing)
# ...
end
end
Run Code Online (Sandbox Code Playgroud)
目的是通过调用emit_after :take,模块#take用它自己的方法覆盖。
但实例方法没有被重写。
但是,我可以显式覆盖它而不使用ClassMethods
module Notifier
def self.prepended(host_class)
define_method(:take) do |thing, block|
r = super(thing)
block.call
r
end
end
class Player
prepend Notifier
attr_reader :inventory …Run Code Online (Sandbox Code Playgroud) 我有一个配置文件:
# config/meta.yml
base_meta:
title: 'Top 10 Cats'
Run Code Online (Sandbox Code Playgroud)
它有一个相应的初始化器:
# config/meta.yml
base_meta:
title: 'Top 10 Cats'
Run Code Online (Sandbox Code Playgroud)
我可以像这样访问标题:
# config/initializers/meta.rb
META = YAML.load_file("#{Rails.root.to_s}/config/meta.yml")
Run Code Online (Sandbox Code Playgroud)
但是,我想国际化我的元数据。我相信这应该由现有的locales/yaml 文件来处理。
如何引用现有的翻译?
# config/locales/en.yml
en:
title: 'Top 10 Cats'
Run Code Online (Sandbox Code Playgroud)
我尝试过使用 erb,但它不起作用:
# config/meta.yml
base_meta:
title: t(:title)
Run Code Online (Sandbox Code Playgroud)
将文件重命名为config/meta.yml.erb也没有效果。
有没有办法从我的配置文件中引用 I18n 键?
使用 iPhone 预览我正在处理的网页时,我注意到每当我单击某个输入时,我都会看到其后面有短暂的灰色闪烁。
我已经删除了所有 CSS,但灰色闪烁仍然存在。它在桌面 Safari 上不可见,仅在移动 Safari 上可见。
是什么原因造成的?我该如何阻止它发生?
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Why do the inputs flash?</title>
<style type="text/css">
input {
display: block;
width: 100%;
border-width: 0 0 1px 0;
border-radius: 0px;
}
</style>
</head>
<body>
<input type="radio" name="mode" id="mode1" value="mode1">
<label for="mode1">Mode 1</label>
<input type="radio" name="mode" id="mode2" value="mode2">
<label for="mode2">Mode 2</label>
<input type="radio" name="mode" id="mode3" value="mode3">
<label for="mode3">Mode 3</label>
<label for="hello">
<input checked type="checkbox" id="hello">
<span class="toggle">
<span class="switch"></span>
</span> …Run Code Online (Sandbox Code Playgroud)我正在编写一个涉及日期比较的 Ruby 脚本。
\n为了保持它的可读性,我想做类似的事情1.day.ago。我认为这就像添加gem \'activesupport\'到我的 gemfile 并要求require \'active_support\'. 但这是行不通的。
我更进一步:
\nrequire "active_support/core_ext/date/calculations"\nrequire "active_support/core_ext/integer/time"\nrequire "active_support/core_ext/time"\nRun Code Online (Sandbox Code Playgroud)\n但我还没有完全做到这一点:
\n1.day.ago\n#NameError: uninitialized constant ActiveSupport::IsolatedExecutionState\n#\n# ::ActiveSupport::IsolatedExecutionState[:time_zone] || zone_default\nRun Code Online (Sandbox Code Playgroud)\n\xe2\x80\xa6I\ 不确定我还需要什么。如何在我的普通 ruby 脚本中使用所有活动记录的日期/时间方法?
\n我正在尝试创建一个json文件并写入它.
我的代码看起来像这样:
def save_as_json(object)
f = File.new('file.json')
f.puts(object.to_json, 'w')
f.close
end
save_as_json({'name'=>'fred'})
Run Code Online (Sandbox Code Playgroud)
问题是,运行时出现以下错误:
:15:in `initialize': No such file or directory @ rb_sysopen - file.json (Errno::ENOENT)
Run Code Online (Sandbox Code Playgroud)
我要求Ruby创建该文件,但它抱怨它不存在!创建和写入文件的正确方法是什么?
我有一些div共享同一类的 s .job。
<div class="job">\n <div id="title">Job 1</div>\n <div id="description">Lorem ipsum dolor.</div>\n</div>\n<div class="job">\n <div id="title">Job 2</div>\n <div id="description">Lorem ipsum dolor.</div>\n</div>\n<div class="job">\n <div id="title">Job 3</div>\n <div id="description">Lorem ipsum dolor.</div>\n</div>\n<div class="job">\n <div id="title">Job 3</div>\n <div id="description">Lorem ipsum dolor.</div>\n</div>\nRun Code Online (Sandbox Code Playgroud)\n\n我想从这些 div 中创建一个标题数组:
\n\n[\'Job 1\', \'Job 2\', \'Job 3\']\nRun Code Online (Sandbox Code Playgroud)\n\n我试过了:
\n\n$(\'.job\').map(function(){ $(\'#title\', this).text() })\n> w.fn.init\xc2\xa0[prevObject: w.fn.init(4)]\nRun Code Online (Sandbox Code Playgroud)\n\n并且:
\n\n$(\'.job\').map(function(){ $(\'#title\', this).text() }).toArray()\n> []\nRun Code Online (Sandbox Code Playgroud)\n\n和:
\n\n$(\'.job\').toArray().map(function(){ $(\'#title\', this).text() })\n> [undefined, undefined, undefined, undefined]\nRun Code Online (Sandbox Code Playgroud)\n\n … 我有两个Person型号Address:
class Person < ApplicationRecord
has_one :address
end
Run Code Online (Sandbox Code Playgroud)
class Address < ApplicationRecord
belongs_to :person
end
Run Code Online (Sandbox Code Playgroud)
我如何验证每个点都指向另一个?
我想做类似的事情:
class Person < ApplicationRecord
has_one :address
validates :address, presence: true
end
Run Code Online (Sandbox Code Playgroud)
当然,这不起作用,因为address不是 上的属性Person。
Rails 中确保一条记录与另一条记录有效关联的正确方法是什么?
我正在尝试为CFNotificationCenter.
该文件指出:
姓名
要观察的通知的名称。如果为 NULL,则为对象发布的任何通知调用回调。如果 center 是 Darwin 通知中心,则此值不能为 NULL。
据我所知NULL,Swift 中不存在。那么这个论点应该是什么呢?
以下编译正常,但不是空字符串NULL:
CFNotificationCenterAddObserver(
CFNotificationCenterGetDistributedCenter(),
UnsafeMutableRawPointer?.none,
receiveNotification,
"" as CFString,
UnsafeRawPointer?.none,
CFNotificationSuspensionBehavior.deliverImmediately
)
Run Code Online (Sandbox Code Playgroud)
我试过CFString?,NSNull并且NSNull as String但是编译器会抱怨。
我误解了文档吗?如何为名称参数提供 NULL 值?
ruby ×5
html ×2
amazon-s3 ×1
css ×1
ios ×1
javascript ×1
jekyll ×1
jquery ×1
php ×1
rails-i18n ×1
swift ×1
swift5.1 ×1
traits ×1
validation ×1
wercker ×1