小编And*_*Gis的帖子

Ruby/ROR禁用方法

我的问题与ROR有关,但实际上我认为它更像是ruby语法.

在模型中有一个内置方法'save',它将模型保存到数据库中.我需要覆盖该方法,以做一些有关文件的额外工作.我用一个带有2个参数的新方法重载了该方法.我现在要做的是禁用原始的保存方法,所以我不会在意外的地方使用它.现在我设法通过使用alias_method来做到这一点.现在,在没有参数的情况下调用save方法后,只会向控制台输出一条消息.问题是这条消息可能会被忽视.

处理这个问题的最佳方法是什么?再见

ruby methods ruby-on-rails

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

JS函数循环中的循环迭代器问题

这是我的代码:

function func(){
 for(i=0; i < 5; i++){
   alert('B');
 }
}

for(i=0; i < 5; i++){
  func();
  alert('A');
}
Run Code Online (Sandbox Code Playgroud)

我的预期是:BBBBBABBBBBABBBBBABBBBBABBBBBA

但收到的只是BBBBBA

我发现那是因为JS中存在函数范围,而不是块范围.我想知道的是如何保持这种行为.我的意思是强制阻止范围.否则很容易制造出令人讨厌的错误 - 例如在使用别人写的函数或你自己编写的函数时,但几个月前.

javascript

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

DLL函数是否自动在新线程中运行?

我做了一些研究,我了解到如果我运行一个程序,我的系统会自动在一个新线程中启动它.DLL的外观如何?

来自DLL的一些伪代码从DLL extern_func()导出:

func1()
{
  while(true) ...do something;
}
extern_func()
{
  ...do something
  func1();
  ...do something else
}
Run Code Online (Sandbox Code Playgroud)

现在,如果extern_func()在我的程序中调用,它是否会在新线程中运行该函数,还是我必须明确地执行此操作?

dll

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

WebSecurity.InitializeDatabaseConnection不与代码首次迁移配合使用

在我的项目中,我首先使用WebSecurity和EF代码进行迁移.

我有我想要与WebSecurity结合的自定义UserProfile类.

我想在Seed方法的迁移'Configuration类中为用户播种.

所以我试试这个:

#1)
if (!Roles.RoleExists("admin"))
            Roles.CreateRole("admin");

if (!WebSecurity.UserExists(AdminUserName))
    WebSecurity.CreateUserAndAccount(
        AdminUserName,
        "admin",
        new {Email = "admin@mindmap.pl"});
Run Code Online (Sandbox Code Playgroud)

但它抱怨我应该首先调用WebSecurity.InitializeDatabaseConnection.

好的,这是有道理的.所以我在Global.asax中添加了以下行:

#2)
WebSecurity.InitializeDatabaseConnection(
    _connectionStringName,
    "UserProfiles",
    "Id",
    "UserName",
    autoCreateTables: true);
Run Code Online (Sandbox Code Playgroud)

但比以下几行:

#3)
var dbMigrator = new DbMigrator(_configuration);
dbMigrator.Update();
Run Code Online (Sandbox Code Playgroud)

抛出错误:

数据库中已经有一个名为"UserProfiles"的对象.

嗯,这很有意义,因为迁移尝试创建刚刚由WebSecurity创建的表.

我找到了一个解决方法:我把#2放在了#1之上.比它工作.

  1. 迁移创建了UserProfiles表
  2. WebSecurity附加到现有的UserProfiles表并创建所需的其他表
  3. 种子在找到所需的表并初始化WebSecurity时起作用.

问题是我必须在种子方法中初始化WebSecurity,这有点臭.

我的问题是如何将WebSecurity.InitializeDatabaseConnection移回Global.asax?

.net c# entity-framework asp.net-mvc-4 ef-migrations

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

Ruby!sub返回奇怪的null

我不明白第一行的结果.如果文件有文件名,则应该返回没有扩展名的文件名.有人可以向我解释为什么会这样,并告诉我这里更合适的是什么?

irb(main):003:0> 'fafeafeafewafeawfeaw'.sub!(/\.[^\.]*$/, '')
=> nil
irb(main):004:0> '.fafeafeafewafeawfeaw'.sub!(/\.[^\.]*$/, '')
=> ""
irb(main):005:0> 'fafeafeafewafea.wfeaw'.sub!(/\.[^\.]*$/, '')
=> "fafeafeafewafea"
Run Code Online (Sandbox Code Playgroud)

ruby

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

Ruby或ROR - 由'||分隔的函数参数

我刚刚遇到了一段有趣的代码.我想确定它是红宝石标准还是铁轨惯例.

redirect_to(session[:return_to] || users_path)
Run Code Online (Sandbox Code Playgroud)

这可以防止redirect_to:在某些情况下导致错误.在c ++中,类似的东西意味着一个bool参数的函数.但在这里它似乎以另一种方式工作 - 我认为这个论点不是一个零.有人可以向我解释并显示这样一个函数的示例定义,它将参数分隔为'||'吗?

再见

ruby ruby-on-rails

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

Sinatra无法看到文件

这条线

<script type="text/JavaScript" src="public/js/jquery.js"></script>
Run Code Online (Sandbox Code Playgroud)

抛出一个恐怖

GET http://localhost/ajax/public/js/jquery.js 404 (Not Found)
Run Code Online (Sandbox Code Playgroud)

没有'公开'它是一样的.

在我的应用程序中更改后,它无需公开工作:

get '/' do
    erb :main

end
Run Code Online (Sandbox Code Playgroud)

至:

get '/sth_else' do
    erb :main

end
Run Code Online (Sandbox Code Playgroud)

但我想在www.page.com/上加载一个页面,没有进一步的论据.请帮帮我.

ruby sinatra

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

屏幕角落的通知

我需要在屏幕的右下角创建一个小通知.它应该提供以下功能:

  • 如果改变当前的焦点.
  • 应该允许我在其中加入一些文字.
  • 应该在所有窗口的顶部出现(并且如果可能的话).

你能建议使用什么吗?安装越少越好.

c linux gnome

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

如何在运行容器时使用docker hostname

我在docker中运行了RabbitMQ

>docker run -d --hostname my-rabbit --name some-rabbit --rm --network my-bridge rabbitmq
Run Code Online (Sandbox Code Playgroud)
  • 我的容器name兔子,我hostname我的兔子
  • 容器连接到my-bridge网络
  • 我的应用程序也连接到my-bridge网络

docker network inspect my-bridge 生产:

[
    {
        "Name": "my-bridge",
        "Id": "c996f5318b2b3ff907b6680e41c4551f184f2c43b0df43fd6916fa8d1707e427",
        "Created": "2018-12-26T19:40:46.6982856Z",
        "Scope": "local",
        "Driver": "bridge",
        "EnableIPv6": false,
        "IPAM": {
            "Driver": "default",
            "Options": {},
            "Config": [
                {
                    "Subnet": "172.21.0.0/16",
                    "Gateway": "172.21.0.1"
                }
            ]
        },
        "Internal": false,
        "Attachable": false,
        "Ingress": false,
        "ConfigFrom": {
            "Network": ""
        },
        "ConfigOnly": false,
        "Containers": {
            "98d81ba991febbc9dc0775effc79a2b083f62fe563aad3ce146e56bab5b09f4c": {
                "Name": "some-rabbit", …
Run Code Online (Sandbox Code Playgroud)

docker

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