我正试图在文本字段旁边放一个按钮.
在这里,我认为代码可以使它工作
<input class="txt" type="text" name="name">
<button class="btn">Submit</button>
.txt {
display: inline-block;
width: 80%;
outline: none;
margin:0;
}
.btn {
display: inline-block;
width: 20%;
margin:0;
}
Run Code Online (Sandbox Code Playgroud)
但是,这两个要素之间仍然存在差距.我该如何删除它?
谢谢
我正在尝试将在 Ruby 1.9.3 上运行的 Rails 应用程序升级到 Rails 4.2.0,但更新关联时遇到了困难。
这是我认为我应该使用的代码
has_many :current_roles, -> (role){ where(job_id: role.id)}, class_name:'Role'
Run Code Online (Sandbox Code Playgroud)
我在几乎所有有关关联和 Rails 4.2 的响应中都看到了 lambda 的相同用法。
然而我得到的是syntax error, unexpected '}', expecting keyword_end
我错过了什么吗?
谢谢
是否有可能(如果是的话)如何在ruby方法中将块作为关键字参数传递?
基本上,我想做
pippo(even: {|n| n+1 }, odd: {|n| n-1})
Run Code Online (Sandbox Code Playgroud)
将方法定义为此类
def pippo(even: , odd:)
even? ? even.yield(self) : odd.yield(self)
end
Run Code Online (Sandbox Code Playgroud)
谢谢
我在 Docker 容器中运行 Nginx,需要定期重新加载其配置以获取更新的Letsecnrypt SSL 证书。
在docker-compose文件中我有以下内容
command: "/bin/sh -c 'while :; do sleep 6h & wait $${!}; nginx -s reload; done & nginx -g \"daemon off;\"'"
Run Code Online (Sandbox Code Playgroud)
据我所知,应该每 6 小时重新加载配置并重新启动 Nginx。然而,它不起作用。SSL 证书已续订,但 Nginx 未获取它。
关于如何每隔几个小时正确地重新加载 Letsencrypt SSL 证书有什么想法吗?
更新 08/08/19
根据我的理解,这个问题与我挂载到容器中的证书文件实际上是符号链接有关,而符号链接不能很好地与 Docker 配合使用。
我正在研究我的第一个Sinatra应用程序,我很难从一个帖子请求中获取参数.
我正在使用MiniTest :: Spec,我的规格看起来像
payload = File.read("./spec/support/fixtures/payload.json")
post "/api/v1/verify_payload", { payload: payload }, { "CONTENT_TYPE" => "application/json" }
last_response.body.must_eql payload
Run Code Online (Sandbox Code Playgroud)
这是我的路线
namespace '/api/v1' do
post '/verify_payload' do
MultiJson.load(params[:payload])
end
end
Run Code Online (Sandbox Code Playgroud)
规范失败,因为last_response.body是空的.
我在这里错过了什么吗?
我也试图返回整个params,verify_payload但在这种情况下,它返回一个空字符串.
更新
curl -X POST -H "Content-Type: application/json" -d '{"payload":"xyz"}' http://localhost:9292/api/v1/verify_payload
Run Code Online (Sandbox Code Playgroud)
在服务器日志中不返回任何内容并且没有错误
[2014-01-06 01:16:25] INFO WEBrick::HTTPServer#start: pid=10449 port=9292
127.0.0.1 - - [06/Jan/2014 01:16:27] "POST /api/v1/verify_payload HTTP/1.1" 200 6 0.0220
Run Code Online (Sandbox Code Playgroud)
谢谢
当我验证模型时,出现以下错误
<ActiveModel::Errors:0x007ffecf1c9460
@base=#<Post id: nil, created_at: nil, label_id: nil, user_id: 3>,
@messages={:label=>["can't be blank"]},
@details={:label=>[{:error=>:blank}]}>
Run Code Online (Sandbox Code Playgroud)
如何自定义错误消息?
根据我的理解,以下应该有效
en:
activerecord:
errors:
models:
post:
attributes:
label:
blank: do not like it
Run Code Online (Sandbox Code Playgroud)
但是,我仍然收到默认错误消息。
如何使用 Capybara 验证复选框是否已禁用?
我尝试了几种选择,但似乎没有任何效果。最后一次尝试是
expect(page).to have_field("input[type='checkbox'][value='agreement']", disabled: true)
Run Code Online (Sandbox Code Playgroud)
一如既往,谢谢。
在构建 Docker 映像时,作为最佳实践,我知道我不应该使用该root用户,但我在使用我创建的用户时遇到了困难。
在这里我的Dockerfile
FROM alpine:3.9.2
RUN addgroup -S cetacean && adduser -S mobydick -G cetacean
USER mobydick
RUN apk update
Run Code Online (Sandbox Code Playgroud)
这是我运行时遇到的错误
错误:无法锁定数据库:权限被拒绝
错误:无法打开 apk 数据库:权限被拒绝
我应该做什么才能使用安装包mobydick?
如何加载ActiveRecordIRB会话?
我有以下内容
# config/app.rb
require 'active_record'
ActiveRecord::Base.establish_connection(
adapter: 'sqlite3',
database: 'db/mydb.sqlite3'
)
Run Code Online (Sandbox Code Playgroud)
但是当我启动IRB并尝试加载它时
irb#1(main):001:0> require config/application.rb
Run Code Online (Sandbox Code Playgroud)
我明白了
NameError: undefined local variable or method `config' for main:Object
Did you mean? conf
Run Code Online (Sandbox Code Playgroud)
我希望能够与IRB的ActiveRecord对象进行交互.我不使用Rails但只使用ActiveRecord.
谢谢
Ruby(2.5)中是否有一种方法super可以以与继承相同的方式调用包含模块中定义的方法?
我的意思是,假设我有以下内容
class Parent
def name
"parent"
end
end
class Child < Parent
def name
"my parent is #{super}"
end
end
Run Code Online (Sandbox Code Playgroud)
当我打电话时Child.new.name,我明白了my parent is parent.
如何在以下情况下实现同样的目标?
module Parent
def name
"parent"
end
end
class Child
include Parent
def name
"my parent is #{???}"
end
end
Run Code Online (Sandbox Code Playgroud)
我该怎么替换????
谢谢
在以 PG (10) 作为数据库的 Rails (5.2) 应用程序中,我需要执行原始 SQL 查询。
在查询中,我需要添加一个WHERE子句来检查qp.id其中是否project.qp_ids存储为字符串数组。
t.text :qp_ids, array: true, default: []
Run Code Online (Sandbox Code Playgroud)
我尝试了几种解决方案,其中以下
" ... WHERE qp.id = ANY #{project.qp_ids}"
" ... WHERE qp.id = ANY #{project.qp_ids.join(', ')}"
" ... WHERE qp.id = ANY ARRAY(#{project.qp_ids.join(', '))}"
" ... WHERE qp.id = IN (#{project.qp_ids.join(', ')})"
Run Code Online (Sandbox Code Playgroud)
但都产生一个PG::SyntaxError.
插入 PG 数组的正确方法是什么?
更新1
下面的代码可以工作,但非常难看,
" ... WHERE qp.id = IN (#{self.quality_process_ids.map {|id| "'#{id}'"}.join(',')})"
Run Code Online (Sandbox Code Playgroud) 在 Rails 6 应用程序中,我有以下代码。
class Reservation < ApplicationRecord
after_create :publish_creation
def publish_creation
Publishers::Reservations::CreateJob.perform_later(self)
end
end
class Publishers::Reservations::CreateJob < ApplicationJob
queue_as :default
def perform(reservation)
puts reservation.inspect #dummy code for testing
end
end
Run Code Online (Sandbox Code Playgroud)
大多数时候我创建一个Reservation(记录总是在数据库中创建),我收到以下错误
2020-02-14T09:54:03.707Z pid=81787 tid=1xmj 警告:
ActiveJob::DeserializationError: Error while trying to deserialize arguments: Couldn't find Reservation with 'id'= 35651cf7-35bc-4da0-bb0d-6285ac093d22
Sidekiq 第一次重试处理作业时,它总能找到Reservation并且一切正常。
Reservation id: "35651cf7-35bc-4da0-bb0d-6285ac093d22", analysis_id: "6b3b167b-1279-49c0-991a-b580c375fd0f", reservable_type: "User", reservable_id: "94f60c16-29d4-4372-983b-7544c393a7e6", reserved_between: 2020-02-10 08:00:00 UTC..2020-02-10 08:10:00 UTC, state: "scheduled", created_at: "2020-02-14 10:02:28", updated_at: "2020-02-14 10:02:28"
我在这里错过了什么吗?这是否与我在development …
我正在使用以下模块创建用于版本化Rails应用程序的API:
Module Api
Module V1
Controller goes here
end
end
Module Api
Module V2
Controller goes here
end
end
Run Code Online (Sandbox Code Playgroud)
我想知道最新版本.我以为我可以通过查看得到它Api.constants,但这似乎并非如此,因为我得到一个空数组,如下所示:
Loading development environment (Rails 3.2.12)
irb(main):001:0> Api
=> Api
irb(main):002:0> Api.constants
=> []
Run Code Online (Sandbox Code Playgroud)
但是,如果我第一次Api::V1直接打电话,它似乎有效:
Loading development environment (Rails 3.2.12)
irb(main):001:0> Api
=> Api
irb(main):002:0> Api.constants
=> []
irb(main):003:0> Api::V1
=> Api::V1
irb(main):004:0> Api.constants
=> [:V1]
Run Code Online (Sandbox Code Playgroud)
有没有办法在不事先访问它们的情况下获取所有子模块?
ruby ×6
docker ×2
activerecord ×1
alpine-linux ×1
capybara ×1
css ×1
html ×1
json ×1
lets-encrypt ×1
nginx ×1
postgresql ×1
rails-i18n ×1
rspec ×1
sidekiq ×1
sinatra ×1