package-lock.json
使用 生成文件时npm install
,出现以下错误:
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: 'app@1.0.0',
npm WARN EBADENGINE required: { node: '16.0.0' },
npm WARN EBADENGINE current: { node: 'v16.10.0', npm: '7.24.0' }
npm WARN EBADENGINE }
Run Code Online (Sandbox Code Playgroud)
我在这里有点困惑。它需要 Node v16.0.0,这就是我正在使用的。npm v7.xx 与该版本的节点不兼容吗?
我开始尝试使用Bootstrap,但是我无法让js下拉函数按照它在doc中的方式工作.
我正在使用的代码来自他们自己站点上的一个示例下拉节点.
data-toggle="dropdown"
在链接上使用,一切都如他们所说的那样.任何拥有一双新鲜眼睛和更多经验的人都知道会发生什么事吗?http://cssdeck.com/labs/pipw6ahd
<link class="cssdeck" rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/2.1.1/css/bootstrap.min.css">
<div id="navbar-example" class="navbar navbar-static">
<div class="navbar-inner">
<div class="container" style="width: auto;">
<a class="brand" href="#">Project Name</a>
<ul class="nav" role="navigation">
<li class="dropdown">
<a id="drop1" href="#" role="button" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
<ul class="dropdown-menu" role="menu" aria-labelledby="drop1">
<li role="presentation"><a role="menuitem" tabindex="-1" href="http://google.com">Action</a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="#anotherAction">Another action</a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="#">Something else here</a></li>
<li role="presentation" class="divider"></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="#">Separated link</a></li>
</ul>
</li>
<li class="dropdown open">
<a href="#" id="drop2" role="button" class="dropdown-toggle" data-toggle="dropdown">Dropdown 2 <b …
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用Lockbox加密和解密文件上传,但是文档假定我不知道我所缺少的知识,并且维护该回购协议的人似乎很忙,无法提供任何帮助。有人可以帮我理解吗?
该文档说,主密钥用于创建存储在模型中的密码。它说,此密码的架构字段应为text
或,binary
并且命名方式类似于attribute_ciphertext
,而不是单纯的attribute
。结果,我的模型如下所示:
class IdentityDocument < ApplicationRecord
belongs_to :user, foreign_key: :user_id
validates :document_front_ciphertext, :document_back_ciphertext, presence: true
mount_uploader :document_front_ciphertext, IdentityDocumentsUploader
mount_uploader :document_back_ciphertext, IdentityDocumentsUploader
end
Run Code Online (Sandbox Code Playgroud)
根据关于CarrierWave的部分,加密就像encrypt
向我的上传器添加一样容易:
class IdentityDocumentsUploader < CarrierWave::Uploader::Base
encrypt
end
Run Code Online (Sandbox Code Playgroud)
控制器创建模型:
def create
@id_doc = current_user.identity_documents.new(id_doc_params)
end
def id_doc_params
params.require(:identity_document).permit(:document_front_ciphertext, :document_back_ciphertext)
end
Run Code Online (Sandbox Code Playgroud)
然后视图将参数提交给控制器:
<%= form_for @id_doc do |f| %>
<%= f.label :document_front_ciphertext, "Front of driver's license or other state ID" %>
<%= f.file_field :document_front_ciphertext %>
<%= f.label :document_back_ciphertext, "Back …
Run Code Online (Sandbox Code Playgroud) 我想撤消对我的回购的一些小改动。我决定回退两次提交,并做到了
git reset --hard <commit>
Run Code Online (Sandbox Code Playgroud)
和
git push -f
Run Code Online (Sandbox Code Playgroud)
一切顺利。但是当我推送到 heroku 时,我得到了一个关于如何没有推送一些引用的错误,然后是这个解释:
更新被拒绝,因为您当前分支的尖端落后于其远程对应分支。在再次推送之前合并远程更改(例如“git pull”)。
每次我回到以前的提交时,我都会得到一个分离的 HEAD 或遥控器后面的提示。这会阻止我推送到 git 或 heroku。为什么?我该如何解决这个问题?要遵循的正确命令列表是什么,以便将来不会造成干扰?
我想渲染多步形式的第一步@trade_wizard
(它有自己的控制器WizardsController
)作为部分内部ItemsController#show
,但我不知道如何构建它而不将代码从一个控制器加倍到另一个控制器.
我正在渲染Item的显示页面中的第一步:
<%= render "/wizards/step1" %>
Run Code Online (Sandbox Code Playgroud)
@trade_wizard在实例化@trade的特殊模型中处理,然后从每个步骤连续继承验证:
module Wizard
module Trade
STEPS = %w(step1 step2 step3).freeze
class Base
include ActiveModel::Model
attr_accessor :trade
delegate *::Trade.attribute_names.map { |attr| [attr, "#{attr}="] }.flatten, to: :trade
def initialize(trade_attributes)
@trade = ::Trade.new(trade_attributes)
end
end
class Step1 < Base
validates :trade_requester_id, :trade_recipient_id, :wanted_item_id, presence: true
validates :shares, numericality: { only_integer: true, greater_than_or_equal_to: 0,
less_than_or_equal_to: :max_shares }
def max_shares
@trade.wanted_item.shares
end
end
class Step2 < Step1
validates :collateral_item_id, presence: true
end
class …
Run Code Online (Sandbox Code Playgroud) 我的应用程序中的某些 Sidekiq 作业计划将资源的状态更改为 ,cancelled
除非用户在特定时间范围内做出响应。有一个大量 的 信息, 关于如何最好地完成这个任务,但没有它实际上取消作业。
要取消作业,维基中的代码说:
class MyWorker
include Sidekiq::Worker
def perform(thing_id)
return if cancelled?
thing = Thing.find thing_id
thing.renege!
end
def cancelled?
Sidekiq.redis {|c| c.exists("cancelled-#{jid}") }
end
def self.cancel!(jid)
Sidekiq.redis {|c| c.setex("cancelled-#{jid}", 86400, 1) }
end
end
Run Code Online (Sandbox Code Playgroud)
然而,这里建议我做类似的事情
def perform(thing_id)
thing = Thing.find thing_id
while !cancel?(thing)
thing.ignore!
end
end
def cancel?(thing_id)
thing = Thing.find thing_id
thing.matched? || thing.passed?
end
Run Code Online (Sandbox Code Playgroud)
维基上的这个和类似代码令人困惑的是,它实际上没有取消工作。上面的示例只是对thing
ifcancelled?
返回false
(应该如此)执行更新,但不会取消如果将来返回 true 以及何时返回。它只是失败并显示 aasm 转换错误消息并被发送到 RetrySet。调用 …
我的 Rails 应用程序在每次加载页面时都会生成双重请求,我无法诊断问题的根源。此处的答案建议删除所有空白/自引用href
s 并运行rake assets:clean
- 但两者都没有任何影响。
除了时间戳和as
控制器动作处理部分之外,这两个请求都是相同的。第一个请求说,Processing by TradesController#index as HTML
而第二个说Processing by TradesController#index as */*
有没有其他人处理过这个问题,如果有,你是如何解决的?
Started GET "/swaps" for 2600:1700:ba01:ff10:cc31:d814:a204:d70e at 2020-02-23 14:32:25 -0800
Processing by TradesController#index as HTML
User Load (0.5ms) SELECT "users".* FROM "users" WHERE "users"."id" = $1 ORDER BY "users"."id" ASC LIMIT $2 [["id", 1], ["LIMIT", 1]]
(0.4ms) SELECT COUNT(*) FROM "trades" WHERE "trades"."trade_requester_id" = $1 AND "trades"."approved_at" IS NULL [["trade_requester_id", 1]]
(0.3ms) SELECT COUNT(*) …
Run Code Online (Sandbox Code Playgroud) 我正在使用Ruby 2.3.0.每次打开一个新的bash选项卡时,我的ruby版本都会降级到2.2.3.所以为了确保我使用最新的,我做到了rvm use 2.3.0
.这可以解决每个标签上的问题,并提供以下消息:
PATH is not properly set up, '/Users/mkeable/.rvm/gems/ruby-2.3.0/bin' is not at first place,
usually this is caused by shell initialization files - check them for 'PATH=...' entries,
it might also help to re-add RVM to your dotfiles: 'rvm get stable --auto-dotfiles',
to fix temporarily in this shell session run: 'rvm use ruby-2.3.0'.
Run Code Online (Sandbox Code Playgroud)
所以,我做了echo $PATH
一些非常自我解释的事情:
/usr/local/bin:/Users/mkeable/.rvm/gems/ruby-2.3.0/bin:/Users/mkeable/.rvm/gems/ruby-2.3.0@global/bin:/Users/mkeable/.rvm/rubies/ruby-2.3.0/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin:/Users/mkeable/.rvm/bin
Run Code Online (Sandbox Code Playgroud)
我的.bashrc有这个:
export PATH="/usr/local/heroku/bin:$PATH" export PATH="$PATH:$HOME/.rvm/bin" # Add RVM to PATH for scripting
Run Code Online (Sandbox Code Playgroud)
而.bash_profile有这个:
source ~/.profile
export PATH=/usr/local/bin:$PATH
[[ …
Run Code Online (Sandbox Code Playgroud) 我不小心跑了rake db:migrate,然后运行了rake db:rollback.现在我之前创建的数据库表已经完全消失了.有没有办法撤消回滚,或者我应该恢复到最近的分支?
这里的Rails指南说
"当config.serve_static_files设置为true时,公共场所下的任何资产都将由应用程序或Web服务器作为静态文件提供.您应该将app/assets用于必须在提供之前进行一些预处理的文件."
我正在使用Rails 4.2.4.没有公共/资产文件夹.这让我想知道一些事情:
ruby ×3
aasm ×1
carrierwave ×1
css3 ×1
dbmigrate ×1
encryption ×1
formwizard ×1
git ×1
git-reset ×1
github ×1
heroku ×1
macos ×1
npm ×1
npm-install ×1
package.json ×1
rollback ×1
rvm ×1
sidekiq ×1
wizard ×1