小编Mat*_*hew的帖子

Jekyll 中的多个 OR 选项包括(液体模板)

我创建了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 块?

html include liquid jekyll

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

为什么在新服务器上出现“PG::UndefineFunction: ERROR: function gen_random_uuid() does not Exist”而在旧服务器上却没有?

我有一个可以在本地运行的现有 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 …

postgresql ubuntu ruby-on-rails heroku pgcrypto

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

我如何确定哪个宝石被捆绑了特定的宝石?

是否有一个简单的(Bundle?)命令来确定哪个gem导致特定的gem捆绑并添加到我的Gemfile.lock中?

一个2类似的问题,但他们似乎只解决搞清楚其中的宝石在那里依赖于特定的宝石的普遍问题.

另一个问题是最接近这个问题,但它过于具体,并没有得到一个很好的一般答案.

最终我找到了我使用后的信息,bundle viz然后眼球看到了结果图像,直到找到它并将其追溯到它的父级,但看起来像bundle应该可以用一行命令告诉我.

我也试过grep -r rest-client ~/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0哪种方式告诉我,但结果很乱,还包括一堆其他不属于这个特定应用的宝石.

下次还有更简单的方法吗?

ruby rubygems ruby-on-rails bundler

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