小编Rom*_*kin的帖子

Rails 7 - 在开发中自动获取资源不起作用

application.js由于某些未知原因,当我在浏览器中按 F5 时,Rails 7(开发环境)不会自动获取更改。该位置application.js是默认的。我几乎使用默认设置。

当我运行服务器时,它从某个缓存版本中获取 JavaScript。我需要明确地rails assets:precompile使其发挥作用。

导入映射看起来标准:

# Pin npm packages by running ./bin/importmap

pin "application", preload: true
...
Run Code Online (Sandbox Code Playgroud)

布局文件似乎也很标准:

<!DOCTYPE html>
<html>
  <head>
    <title>Whatever</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="icon" href="<%= image_path('favicon.svg') %>">
    <%= csrf_meta_tags %>
    <%= csp_meta_tag %>

    <%= stylesheet_link_tag "application", "data-turbo-track": "reload" %>
    <%= javascript_importmap_tags %>
  </head>
...
Run Code Online (Sandbox Code Playgroud)

config.importmap.sweep_cache = true我尝试在我的(根据 importmap 文档)中进行设置development.rb,但似乎没有效果。

此时我非常绝望,无法理解为什么我需要rails assets:precompile在我的开发环境中这样做。

另外,我没有在“localhost”域上运行我的应用程序,它是在类似dev.server-somewhere.com(因此可以从任何地方访问)的 SSH 重定向上运行我的应用程序,类似于 ngrok。不确定这是否是问题的原因。

澄清一下:我正在寻找没有实时刷新功能的功能,只需使用 F5 页面刷新的标准方法即可。

ruby-on-rails ruby-on-rails-7

16
推荐指数
3
解决办法
6434
查看次数

如何动态构建实体框架查询?

我对Entity Framework很新,我对过滤数据有疑问.

我有两个不同的Log实体,它们是:DiskLogNetworkLog.这些实体都来自Log实体.以下是我的C#应用​​程序中的一些代码:

public class Log { ... }
public class DiskLog : Log { ... }
public class NetworkLog : Log { ... }

public enum LogType
{
    NotInitialized = 0,
    Disk,
    Network
}

public List<Log> GetWithFilter(
    Guid userKey, 
    int nSkip, 
    int nTake, 
    DateTime dateFrom = DateTime.MinValue, 
    DateTime dateTo = DateTime.MaxValue, 
    LogType logType = LogType.NotInitialized, 
    int computerId = 0)
{
    // need to know how to optimize ...

    return ...
}
Run Code Online (Sandbox Code Playgroud)

当然,我已经创建了工作应用程序和数据库表.我想要做的是使函数GetWithFilter工作.我有几种执行方式:

  1. if …

c# linq entity-framework filtering filter

11
推荐指数
2
解决办法
8096
查看次数

在进行git提交时使用将来的日期

有没有简单的方法来推迟GitHub提交?

如果这些提交将在1小时内一个接一个地进行,那也不错.
假设我有5个提交,第一个应该出现在上午10点,第二个出现在上午11点,第三个出现在中午12点,依此类推.

git github

11
推荐指数
2
解决办法
4505
查看次数

如何在 VsCode 中突出显示当前分支的更改?

VsCode 用绿色突出显示尚未提交到 git 存储库的代码行(左侧约 2px 垂直条纹)。

这非常方便,但我喜欢这样做git add . && git commit -m "Save"来保存我的进度。所以这个突出显示会下降。

我在自己的分支中进行所有更改。VsCode 有没有办法突出显示当前分支中已修改的代码行?

git visual-studio-code

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

使用Entity Framework管理数据库索引的正确方法

我正在使用Entity Framework构建我的应用程序(模型第一原则).我也使用MS SQL Server 2008来存储我的应用程序的所有数据.

经过一段时间的开发后,我有以下代码:

public partial class EventInfo
{
    #region Primitive Properties

    public virtual int Id
    {
        get;
        set;
    }

    public virtual string EventName
    {
        get;
        set;
    }

    public virtual string EventKey
    {
        get;
        set;
    }

    public virtual System.DateTime DateStamp
    {
        get;
        set;
    }

    #endregion
}
Run Code Online (Sandbox Code Playgroud)

并且Visual Studio数据库设计者已经创建了特殊的sql代码块来将此实体映射到数据库:

-- Creating table 'EventInfoSet'
CREATE TABLE [dbo].[EventInfoSet] (
    [Id] int IDENTITY(1,1) NOT NULL,
    [EventName] nvarchar(max)  NOT NULL,
    [EventKey] nchar(32)  NOT NULL,
    [DateStamp] datetime  NOT NULL
);
Run Code Online (Sandbox Code Playgroud)

当然还有Id属性的索引

-- Creating primary …
Run Code Online (Sandbox Code Playgroud)

sql-server indexing entity-framework

6
推荐指数
2
解决办法
8954
查看次数

使用统一框架在MVC 3中进行依赖注入

我已经在MVC 3统一框架中实现了依赖注入并遵循了指令.

它有效,但我有几个问题:

这是我的实现:

public interface ID
{

    string MReturn();
}
Run Code Online (Sandbox Code Playgroud)

实现此接口的类是:

public class D:ID
{
    public string MReturn()
    {
        return "Hi";
    }
}
public class E : ID
{
    public string MReturn()
    {
        return "HiE";
    }
}

public class F : ID
{
    public string MReturn()
    {
        return "Hif";
    }
}
Run Code Online (Sandbox Code Playgroud)

在bootstrapper类中,

    private static IUnityContainer BuildUnityContainer()
    {

        var container = new UnityContainer();
        container.RegisterType<ID, D>();

        container.RegisterType<IController, HomeController>("feedbackRepo");
        container.RegisterType<ID, E>();
        container.RegisterType<ID, F>();
      // register all your components with the container here …
Run Code Online (Sandbox Code Playgroud)

.net c# asp.net-mvc dependency-injection asp.net-mvc-3

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

Firebase 事件无延迟

使用Firebase 事件api 在客户端之间实时同步某些内容是个好主意吗?

例如,如果我想在客户端上完全同时播放视频(延迟小于 30 毫秒),我可以在这里依赖 Firebase 吗?有没有什么方法可以使用 Firebase 在两个客户端上启动尽可能多的同步事件?(假设客户端正在浏览器中查看同一页面)。

我尝试使用它,它看起来相当可靠,但我不确定这是正确的方法。

另一种方法是交换数据包:“从 XXX UTC 开始”,其中 XXX 是现在的时间 + 1000 毫秒(例如)。对于一个客户端,数据包传输可能需要 40 毫秒,另一个则需要 900 毫秒。但此事件将被同步。但这里的问题是如何知道客户端时间设置正确?

我不想重新发明轮子,想看看你们以前是否有过这种经历。

javascript node.js firebase

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

实体框架简单名称限制的解决方法?

我有这样一个模型的一部分:

public class RepeatDetails
{
    public enum Types { Daily = 0, Weekly = 1, Monthly = 2, Yearly = 3 }

    public Types Type { get; set; }
    public DailyDetails Daily { get; set; }

    public class DailyDetails
    {
        public enum Types { EveryDay = 0, EveryWorkingDay = 1 }
        public Types Type { get; set; }

        // ...
    }

    // ...
}
Run Code Online (Sandbox Code Playgroud)

当我尝试添加迁移时,出现错误:

类型'MyProject.RepeatDetails + DailyDetails + Types'和类型'MyProject.RepeatDetails + Types'都具有相同的简单名称'Types',因此不能在同一模型中使用.给定模型中的所有类型都必须具有唯一的简单名称.使用'NotMappedAttribute'或在Code First Fluent API中调用Ignore以从模型中明确排除属性或类型.

我知道EF的限制,你不能使用相同的简单类型.我现在可以做的是使用RepeatDetailsTypes,DailyDetailsTypes等重命名这些选项.但是我不想仅仅因为第三方库/库的限制而修改我的模型(此外,这个限制可以在下一个版本中删除EF).我想让其他开发人员保持我的代码清洁和简单.如果我以这种方式运行,我的代码中可能会出现一个巨大的混乱. …

c# entity-framework

5
推荐指数
0
解决办法
2665
查看次数

在npm install上缺少目录和文件

我试图安装该模块npm i --save https://github.com/yagop/node-telegram-bot-api.git.

我避免的原因npm i --save node-telegram-bot-api是我需要一些最近添加的方法(比如sendContact).

当我安装时,它package.json按预期添加到我的:

"node-telegram-bot-api": "git+https://github.com/yagop/node-telegram-bot-api.git",
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试运行使用此模块的应用程序时,它说:

Error: Cannot find module './src/telegram'
Run Code Online (Sandbox Code Playgroud)

稍微戳了一下之后,结果发现有丢失src和其他一些目录.这是tree输出:

$ tree ./node_modules/node-telegram-bot-api 
./node_modules/node-telegram-bot-api
??? CONTRIBUTING.md
??? index.js
??? LICENSE.md
??? node_modules
(second one is skipped)
??? package.json
??? README.hbs
??? README.md
Run Code Online (Sandbox Code Playgroud)

为什么?我该如何解决?

我试图npm cache cleanrm -rf ./node_modules/node-telegram-bot-api,重新安装,没有什么帮助.

git node.js npm telegram

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

在查找和处理管道时打印文件名

我有一组 json 文件,我想对它们执行一些操作(提取标签)。命令如下所示:

find ./fixtures/*.json | xargs cat | jq .[0].terms.customer[0].slug
Run Code Online (Sandbox Code Playgroud)

.[0].terms.customer[0].slug是我的查询,在这里并不重要。上面的命令工作正常。输出类似于:

"default"
"default"
"default"
"default"
"foo"
"foo"
"bar"
Run Code Online (Sandbox Code Playgroud)

但是如何更改上面的 shell 命令以显示已处理文件的文件名?我想看到这样的输出:

1.json: "default"
2.json: "default"
3.json: "default"
4.json: "default"
5.json: "foo"
6.json: "foo"
7.json: "bar"
Run Code Online (Sandbox Code Playgroud)

尝试使用 echo,但似乎输出被重定向到管道。我应该回显到 stderr 还是可以在这里使用更好的方法?

当我使用tee命令时,find ./fixtures/*.json | tee /dev/tty | xargs cat | jq .[0].terms.customer[0].slug它会显示以下内容:

1.json
2.json
3.json
4.json
5.json
6.json
"default"
"default"
"default"
"default"
"foo"
"foo"
"bar"
Run Code Online (Sandbox Code Playgroud)

这不是一件容易读懂的事情。

linux bash shell

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