我创建了image
一个很像Jekyll 文档中的包含。
如果提供,我将alt
根据alt
变量设置标签,否则设置一个默认标签来尝试让自己羞于提供一个:
alt="{{ include.alt | default: "Whoops! alt tag not provided. Please let me know via the contact page"}}"
我还有一个可选的标题,它可能是alt
标签的合理替代品(请原谅双关语)(如果caption
已设置但未设置alt
)。
我试过了,{{ include.alt | include.caption | default: "Whoops! alt tag not ..."}}
但是当alt
为空白并设置标题时,它仍然使用默认值。
有没有一种优雅的方法来做到这一点,还是我需要使用多个 if/unless 块?
我有一个可以在本地运行的现有 Rails 7 / PostgreSQL 应用程序,并且当前部署在 Heroku 上。我正在将其迁移到运行 Ubuntu 22 LTS(最初是 Ubuntu 20 LTS)的 VPS,但是当我尝试运行迁移(直接或通过 Capistrano)时,它们失败并出现错误:
PG::UndefinedFunction:错误:函数 gen_random_uuid() 不存在
第一个(十个!)迁移失败了,因此,我没有重写历史记录并插入/修改早期迁移,而是通过手动创建扩展在服务器上修复了它pgcrypto
:
myApp$ sudo su - postgres
postgres$ psql
postgres=# \c myapp_production
myapp_production=# CREATE EXTENSION pgcrypto;
CREATE EXTENSION
myapp_production=# exit
Run Code Online (Sandbox Code Playgroud)
据我所知,我没有执行任何操作来在 Mac 上启用该扩展,我只是在第一次迁移中运行rails new myapp --database=postgresql
并使用了该扩展。create_table :people, id: :uuid do |t|
为什么我需要在 Ubuntu 上创建/启用此扩展,而不是 macOS 或 Heroku?
在我的 Mac 上,我使用 Postgres 14.5(psql (PostgreSQL) 14.5,Homebrew)。在 Ubuntu 22 LTS 服务器上,我还使用 Postgres 14.5(psql (PostgreSQL) 14.5、Ubuntu 14.5-0ubuntu0.22.04.1)。
当我第一次注意到它时,我在服务器上使用了不同版本的 PostgreSQL(psql …
是否有一个简单的(Bundle?)命令来确定哪个gem导致特定的gem捆绑并添加到我的Gemfile.lock中?
有一个或2类似的问题,但他们似乎只解决搞清楚其中的宝石在那里依赖于特定的宝石的普遍问题.
另一个问题是最接近这个问题,但它过于具体,并没有得到一个很好的一般答案.
最终我找到了我使用后的信息,bundle viz
然后眼球看到了结果图像,直到找到它并将其追溯到它的父级,但看起来像bundle应该可以用一行命令告诉我.
我也试过grep -r rest-client ~/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0
哪种方式告诉我,但结果很乱,还包括一堆其他不属于这个特定应用的宝石.
下次还有更简单的方法吗?