在我的Rails 5应用程序中,我使用Liquid让我的用户生成内容.
根据我的用户输入,我使用以下内容初始化我的模板:
string = "Order {{ order.id }} was created {{ order.date | date: '%A %d/%m-%Y' }}"
template = Liquid::Template.parse(string)
result = template.render({'order' => {'id' => '123', 'date' => order.date}})
Run Code Online (Sandbox Code Playgroud)
这将打印一些la:
'Order 123 was created Sunday 14/01-2018'
Run Code Online (Sandbox Code Playgroud)
但是如何在我的Rails应用程序中构建Liquid日期本地化?
它似乎在文档中不受支持.然而,Shopify本身似乎已经在他们的Liquid实现中构建了本地化.
我想我需要通过我的模板语言环境(en,fr,等)和区域文件.我的Rails语言环境文件如下所示:
en:
datetime: &datetime
month_names:
[~, January, February, March, April, May, June, July, August, September, October, November, December]
day_names:
[Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday]
abbr_day_names:
[~, Sun, Mon, …Run Code Online (Sandbox Code Playgroud) 我想执行一个执行基本分页的聚合查询:
company_idorder_number100并传递其余部分2并传递它们以下是查询的细分:
db.Order.collection.aggregate([
Run Code Online (Sandbox Code Playgroud)
这会找到所有匹配的文档:
{ '$match' : { "company_id" : ObjectId("54c0...") } },
Run Code Online (Sandbox Code Playgroud)
这会对文件进行排序:
{ '$sort' : { 'order_number' : -1 } },
Run Code Online (Sandbox Code Playgroud)
这会对文档进行计数并传递未经修改的文档,但我确信这样做是错误的,因为事情变得怪异了:
{
'$group' : {
'_id' : null,
'count' : { '$sum' : 1 },
'entries' : { '$push' : "$$ROOT" }
}
},
Run Code Online (Sandbox Code Playgroud)
这似乎跳过一些文件:
{ "$skip" : 100 },
Run Code Online (Sandbox Code Playgroud)
这应该限制文档,但它不会:
{ "$limit" : 2 },
Run Code Online (Sandbox Code Playgroud)
这会返回计数,但它不会返回数组中的文档,而是返回包含每个字段的数组:
{ '$project' : {
'count' : 1,
'entries' …Run Code Online (Sandbox Code Playgroud) 我正在使用sidekiq (2.13.1)(请参阅此处的依赖项),websocket-rails (0.6.2)(请参阅此处的依赖项)和redis-semaphore (0.2.1)(请参阅此处的依赖项).
sidekiq已经在我的应用程序中运行了很长时间,但在安装后websocket-rails我不再能够执行我的sidekiq工作.它们都崩溃了这个堆栈跟踪:
2013-09-15T13:15:17Z 12682 TID-ouvinq47w INFO: Sidetiq::Clock start
2013-09-15T13:15:19Z 12682 TID-ouvinq47w INFO: Booting Sidekiq 2.13.1 using redis://localhost:6379/0 with options {}
2013-09-15T13:15:19Z 12682 TID-ouvinq47w INFO: Running in ruby 2.0.0p247 (2013-06-27 revision 41674) [x86_64-darwin12.4.0]
2013-09-15T13:15:19Z 12682 TID-ouvinq47w INFO: See LICENSE and the LGPL-3.0 for licensing details.
2013-09-15T13:15:19Z 12682 TID-ouvinq47w INFO: Starting processing, hit Ctrl-C to stop
2013-09-15T13:15:20Z 12682 TID-ouvjitprc EvaluationsJob JID-7a108bea6da948aee5f43a99 INFO: start
2013-09-15T13:15:20Z …Run Code Online (Sandbox Code Playgroud) 我有一个Rails 5应用程序构建为api应用程序:
# config/application.rb
module MyApp
class Application < Rails::Application
config.api_only = true
end
end
Run Code Online (Sandbox Code Playgroud)
在我的控制器动作之一中,我需要呈现一些Ruby风格的html,然后将其重新提供给json响应。
标准的Rails应用程序可以执行以下操作:
# app/controllers/my_controller.rb
def my_action
html = ApplicationController.new.render_to_string("my_erb_or_haml_file", locals: {foo: "bar"}, layout: false)
render :json => {html: html}, :status => :ok
end
Run Code Online (Sandbox Code Playgroud)
但是,对于我瘦小的api应用来说,ApplicationController.new.render_to_string似乎只是render " "。这使我感到困惑,因为我希望它可以提供内容或引发异常。
有什么建议我应该采取什么方式来生成Ruby风格的html?
当您查看Bootstrap 5 手风琴时,您会看到一个轮廓。我想删除它。我不确定哪个元素实际产生了轮廓,但我怀疑它是button. 在任何情况下,我都尝试将以下内容应用于所有可能的元素:
.accordion-item, .accordion-item:focus, .accordion-item:active,
.accordion-header, .accordion-header:focus, .accordion-header:active,
.accordion-button, .accordion-button:focus, .accordion-button:active {
outline: none !important;
}
Run Code Online (Sandbox Code Playgroud)
似乎没有任何效果。有任何想法吗?
这是 html 代码的副本:
<div class="accordion" id="accordionExample">
<div class="accordion-item">
<h2 class="accordion-header" id="headingOne">
<button class="accordion-button" type="button" data-bs-toggle="collapse" data-bs-target="#collapseOne" aria-expanded="true" aria-controls="collapseOne">
Accordion Item #1
</button>
</h2>
<div id="collapseOne" class="accordion-collapse collapse show" aria-labelledby="headingOne" data-bs-parent="#accordionExample">
<div class="accordion-body">
...
</div>
</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud) bootstrap-5 ×1
css ×1
eventmachine ×1
liquid ×1
mongodb ×1
pagination ×1
redis ×1
sidekiq ×1
websocket ×1