小编Dav*_*cio的帖子

Ruby on Rails按id(和版本?)排序

在尝试使用id排序(和分页)时,从日志中获取:

SELECT `audits`.* FROM `audits` ORDER BY version, id DESC LIMIT 50 OFFSET 0
Run Code Online (Sandbox Code Playgroud)

我目前正在使用此代码:

@records = Audit.order("id DESC").page(page).per(50)
Run Code Online (Sandbox Code Playgroud)

问题是检索到的列表没有按id降序正确排序.

顺便说一句,我使用audited-activerecord gem进行审核,这有关系吗?

ruby activerecord ruby-on-rails ruby-on-rails-3

8
推荐指数
2
解决办法
2万
查看次数

Rails,paperclip和s3,提示下载或查看图像?

所以我在RoR 3中成功地完成了Paperclip和S3上传工作,但事实证明,一些图像被提示下载,其他图像可以在浏览器中查看.什么决定了这种行为?

amazon-s3 paperclip ruby-on-rails-3

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

用户未登录时如何屏蔽我的目标网页?

我在https://example.com上获得了基于ruby on rails的web平台

我的登陆和关于页面托管在其他主机的Wordpress中,网址https://examplecms.com.

我想要实现的是让用户访问https://example.com get masked https://examplecms.com,除非他们登录时我的平台的仪表板在根路径/中路由.

我想避免的是用户在URL https://examplecms.com中看到.

我到目前为止尝试了几个技巧:

  • 在我的家/索引操作控制器中,如果用户未登录,我已重定向到https://examplecms.com.但这会失败,因为它仍然在用户的浏览器中显示CMS网址.
  • 在指向CMS站点的主/索引视图的渲染中使用Iframe.它的工作原理是因为它仍然可以正确显示我的网站网址,但这似乎有点可疑,但深度链接和导航似乎无法正常工作.

我一直在考虑在代理服务器级别,使用.htaccess或甚至使用DNS策略,但我无法找到这些策略的解决方案来检测用户何时登录?

有任何想法吗?

谢谢

更新:堆栈:

  • Ubuntu的
  • Ruby on Rails
  • Nginx +乘客
  • Amazon Ec2 + Cloudflare DNS

ruby-on-rails nginx web

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

从Rails 3中的application.js访问current_user变量

我希望从我的application.js访问我的current_user变量(我将我的application.js重命名为application.js.erb,以便服务器可以理解我的ruby代码),所以我有类似的东西:

function hello(){ alert("<%= current_user.name %>"); }
Run Code Online (Sandbox Code Playgroud)

但它失败了:

在此输入图像描述

如何从位于/assets/my_script.js.erb的脚本中获取设备变量,例如来自devise gem的current_user,我认为它不应该是因为theese变量可能无法从公共站点加入,或者应该怎么做这个?

谢谢!

javascript ruby ruby-on-rails devise ruby-on-rails-3

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

VueJS-数据更改时如何滚动底部

在我的组件中,我有一个消息数组。

data: function () {
        return {
            messages: [],
            first_load: false
            ...
        }
Run Code Online (Sandbox Code Playgroud)

在创建我的组件后,该消息数组最初由 Ajax 调用填充。数据来自服务器后,我只需将其推送到消息变量中,它会令人惊讶地在 UI 中绘制所有消息,但在推送数据后,我尝试滚动到 UI 底部,以便用户仅观看最新内容。

data.body.data.messages.map((message) => {
    this.messages.push(message)
}
this.scroll_bottom()
Run Code Online (Sandbox Code Playgroud)

我注意到,在推送数据后执行简单的 javascript 滚动底线将不起作用,因为 UI 会异步刷新(当我 .push 到我的数组时,它不会在同步 UI 之前执行下一行),所以我最终添加超时然后滚动底部,但我认为这是非常可耻的。

我的黑客:

watch: {
    messages:{
        handler: function (val, oldVal) {
            if (!this.first_load) {
                this.first_load = true
                setTimeout(() => {
                    this.scroll_bottom()
                }, 1000);
            }
        },
        deep: true
    }
}
Run Code Online (Sandbox Code Playgroud)

关于如何利用这一点有什么想法吗?谢谢!

javascript vue.js vuejs2

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

.NET c#如何使用linq2db进行大量插入?

目前我正在使用Linq2db来管理我的C#应用​​程序的sqlite数据库.现在我正在阅读一个24k +行的excel文件,我想知道如何加快我的ETL过程?

for (int row = start.Row; row <= end.Row; row++)
        {
            if (row == 1) // Title row
                continue;

            Stock stock = new Stock(Processor.GetStore(workSheet.Cells[row, 1].Text),
                            Processor.GetProduct(workSheet.Cells[row, 2].Text),
                            int.Parse(workSheet.Cells[row, 6].Text),
                            int.Parse(workSheet.Cells[row, 7].Text),
                            int.Parse(workSheet.Cells[row, 8].Text), 0, true);

            Processor.AddStock(stock, false);

        }
Run Code Online (Sandbox Code Playgroud)

尝试使用linq采用不同的方法但是我的计时结果更糟糕......

            var stocks = (from cell in workSheet.Cells["a:h"]
                      select new Stock(Processor.GetStore(workSheet.Cells[cell.Start.Row, 1].Text),
                            Processor.GetProduct(workSheet.Cells[cell.Start.Row, 2].Text),
                            int.Parse(workSheet.Cells[cell.Start.Row, 6].Text),
                            int.Parse(workSheet.Cells[cell.Start.Row, 7].Text),
                            int.Parse(workSheet.Cells[cell.Start.Row, 8].Text), 0, true)).ToList();
Run Code Online (Sandbox Code Playgroud)

我要找的是这样的:

public static void MassStockInsert(List<Stock> stocks)
    {
        using (var db = new Processor())
        {
            db.Stock
                .insert(stocks);
        } …
Run Code Online (Sandbox Code Playgroud)

c# linq sqlite linq2db

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

windows phone DispatcherTimer精度

所以,我使用DispatcherTimer来模拟计时器的应用程序(Windows Phone 7.5 over c#).我将间隔设置为1毫秒:

timer.Interval = new TimeSpan(0,0,0,0,1);
Run Code Online (Sandbox Code Playgroud)

然后我宣布一个TimeSpan,以便做一个简单的倒计时:

TimeSpan countdown = TimeSpan.FromSeconds(10);
Run Code Online (Sandbox Code Playgroud)

在每个刻度上im Substracting 1毫秒:

countdown = countdown.Subtract(TimeSpan.FromMilliseconds(1));
Run Code Online (Sandbox Code Playgroud)

在Visual Studio中的Windows Phone模拟器256/512与"没有问题"的工作,但是当我在我的手机上运行它(LG量子)似乎有精度问题.我将它与运行应用程序的PC屏幕进行了比较,并且在手机上的速度较慢.我试图不在我的手机中以调试模式运行应用程序.这有什么解决方案吗?或者我必须采取另一种方法?

c# windows-phone-7

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

如何在 Amazon Linux 2023 中安装 Wkhtmltopdf?

我正在将我的服务器从 AL2 升级到 Amazon Linux 2023。我的应用程序需要 wkhtmltopdf,现在在尝试安装它时,我发现它尚未在我的特定操作系统版本上正式发布。我已经尝试安装 AL2 的版本,但在安装所有依赖项后,它仍然缺少 libpng。

我尝试在 AL2 aarch64 下从https://wkhtmltopdf.org/downloads.html下载 .rpm 文件并运行sudo yum install wkhtmltox-0.12.6-1.amazonlinux2.aarch64.rpm。它似乎安装正确,但执行示例wkhtmltopdf google.com google.pdf失败。关于如何在 Amazon Linux 2023 中构建 wkhtmltopdf 有什么想法吗?

在一个侧面问题上。我看到与该库关联的 Github 存储库已存档,我是否应该考虑将应用程序的 PDF 生成迁移到其他库?

[ec2-user@backoffice ~]$ sudo yum install wkhtmltox-0.12.6-1.amazonlinux2.aarch64.rpm
Last metadata expiration check: 1:02:21 ago on Mon Nov 20 20:13:06 2023.
Dependencies resolved.
===========================================================================================================================================
 Package                                  Architecture           Version                                 Repository                   Size
===========================================================================================================================================
Installing:
 wkhtmltox                                aarch64                1:0.12.6-1.amazonlinux2                 @commandline                 13 M
Installing dependencies:
 cairo                                    aarch64                1.17.6-2.amzn2023.0.1                   amazonlinux …
Run Code Online (Sandbox Code Playgroud)

ruby wkhtmltopdf amazon-linux amazon-linux-2 amazon-linux-2023

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