问题列表 - 第4607页

ActionMailer最佳实践:模型或控制器中的调用方法?

通常在对模型执行操作后调用发送电子邮件,但电子邮件本身是查看操作.我正在寻找你如何思考要问自己哪些问题来确定动作邮件方法调用的位置.

我见过/使用过它们:

  • 在模型方法中 - 相关但单独关注的错误耦合?
  • 在模型的回调中(例如after_save) - 就我目前的知识水平而言,最好的分离.
  • 在控制器操作中 - 只是感觉不对,但有没有情况这是构建代码的最明智的方法?

如果我想知道如何编程我需要像程序员一样思考,那么学习如何通过特定的编程解决方案进行思考就值得花几个月的时间独立编码.谢谢!

ruby model-view-controller methodology ruby-on-rails

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

在使用Ruby解析文本文件时如何跳过某些列?

我必须用Ruby解析制表符分隔的文本文件,以从中提取一些数据.由于某些未知的原因,一些列没有使用,只是基本上是间隔物; 我想忽略这些列,因为我不需要它们的输出(但是我不能忽略所有空列,因为一些合法的列具有空值).我已经知道这些列的索引(例如第6,14,24和38列).

虽然我可以在解析文件时添加一个条件并说解析它,除非它是其中一个列,这似乎不是"Rubyish" - 是否有更好,更优雅的方法来处理它?RegExps,也许?我想做一些类似[6, 14, 24, 38].each { |x| columns.delete_at(x) }删除未使用的列的事情,但这将迫使我重新确定我实际需要的列的索引.我真正想要做的就是遍历整个事情,检查当前列的索引,如果它是"坏"列之一,则忽略它.然而,拥有像这样的代码似乎非常难看unless x == 6 || x == 14 || x == 24 || x == 38

ruby

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

打开文件并将内容写入DIV,span,label,某种容器

我希望能够打开一个text/html文件并将其内容写入容器,HTML div或asp标签都可以.如何在相关页面的C#代码文件中执行此操作?

html c# asp.net

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

按下Close,X,按钮时,不会调用OnClosing事件.Windows Mobile

我是Windows Mobile的新用户,并创建了一个应用程序,需要在表单关闭时进行一些清理.当我单击ControlBox中的Close时,它不会调用OnClosing事件.这在常规窗口中工作正常,但不能与我的Windows Mobile设备一起使用.

这是我的代码:

protected override void OnClosing(System.ComponentModel.CancelEventArgs e)
{
...
}
Run Code Online (Sandbox Code Playgroud)

我也试过这个没有运气:

Form.Closing += new System.ComponentModel.CancelEventHandler(WindBaseForm_Closing);
Run Code Online (Sandbox Code Playgroud)

我很感激你能给予的任何帮助.

c# windows-mobile

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

凭证存储最佳实践

我正在编写Windows服务,需要进行经过身份验证的Web请求.该服务不会在用于发出请求的凭据的所有权下运行; 这意味着我需要以某种方式存储请求的凭据.

这里的最佳做法是什么?凭证需要存储在App.config(或模拟)中; 我宁愿没有用明文挂掉密码.由于密码经常更改,因此无法在密码中构建或以其他方式烘焙二进制文件.

同样的问题适用于Powershell.我需要进行经过身份验证的请求,但我不希望脚本以纯文本格式包含用于请求的凭据.

c# powershell windows-services

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

为什么Django只提供包含空格的文件?

我正在编写一个基本的Django应用程序.出于测试/开发的目的,我正在尝试使用Django的开发服务器来提供网站的静态内容,如http://docs.djangoproject.com/en/dev/howto/static-files/#howto-static-files.

我的urls.py包含:

    (r'^admin/(.*)', admin.site.root),

    (r'^(?P<page_name>\S*)$', 'Blah.content.views.index'),

    (r'^static/(?P<path>.*)$', 'django.views.static.serve',
        {'document_root': 'C:/Users/My User/workspace/Blah/media',
         'show_indexes': True})
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试访问一个文件,如http:// localhost:8000/static/images/Logo.jpg Django给了我一个404错误,声称"没有页面匹配给定的查询".

当我尝试访问一个文件,如http:// localhost:8000/static/images/Blah%20Logo.jpg时,它会提供文件!

这是怎么回事?

python django

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

使用c ++创建一个新的Windows注册表项

我正在尝试使用C++在Windows注册表中创建一个新的注册表项.这是我到目前为止的代码:

HKEY hKey;
    LPCTSTR sk = TEXT("SOFTWARE\\OtherTestSoftware");

    LONG openRes = RegCreateKeyEx(
            HKEY_LOCAL_MACHINE,
            sk,
            0,
            NULL,
            REG_OPTION_BACKUP_RESTORE,
            KEY_ALL_ACCESS,
            NULL,
            &hKey,
            NULL);

    if (openRes==ERROR_SUCCESS) {
        printf("Success creating key.");
    } else {
        printf("Error creating key.");
    }

    LPCTSTR value = TEXT("OtherTestSoftwareKey");
    LPCTSTR data = "OtherTestData\0";

    LONG setRes = RegSetValueEx (hKey, value, 0, REG_SZ, (LPBYTE)data, strlen(data)+1);

    if (setRes == ERROR_SUCCESS) {
        printf("Success writing to Registry.");
    } else {
        printf("Error writing to Registry.");
    }

    //RegDeleteKey(hKey, sk);

    LONG closeOut = RegCloseKey(hKey);

    if (closeOut == ERROR_SUCCESS) {
        printf("Success …
Run Code Online (Sandbox Code Playgroud)

c++ registry

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

与python的sqlite问题中的AUTO_INCREMENT

我正在使用python 2.5的sqlite.我用下面的语法得到一个sqlite错误.我环顾四周,在这个页面上看到了AUTOINCREMENT http://www.sqlite.org/syntaxdiagrams.html#column-constraint,但这也无效.没有AUTO_INCREMENT我可以创建表.

An error occurred: near "AUTO_INCREMENT": syntax error 
CREATE TABLE fileInfo
(
fileId int NOT NULL AUTO_INCREMENT,
name varchar(255),
status int NOT NULL,
PRIMARY KEY (fileId)
);
Run Code Online (Sandbox Code Playgroud)

python sqlite

12
推荐指数
3
解决办法
3万
查看次数

Java相当于unsigned long long?

在C++中,我喜欢访问64位无符号整数,via unsigned long long int或via uint64_t.现在,在Java中,long是64位,我知道.但是,他们签了名.

是否有一个unsigned long(long)可用作Java原语?我该如何使用它?

java primitive unsigned unsigned-long-long-int

104
推荐指数
5
解决办法
21万
查看次数

为什么必须先在Java构造函数中委托给不同的构造函数?

在Java的构造函数中,如果要调用另一个构造函数(或超级构造函数),它必须是构造函数中的第一行.我假设这是因为在其他构造函数运行之前不应该允许修改任何实例变量.但是为什么你不能在构造函数委托之前有语句,以便计算其他函数的复杂值?我想不出任何好的理由,而且我遇到了一些真实的案例,我写了一些丑陋的代码来解决这个限制.

所以我只是想知道:

  1. 有这个限制的充分理由吗?
  2. 是否有任何计划在未来的Java版本中允许这样做?(或者Sun明确表示这不会发生吗?)

举一个我正在谈论的例子,考虑一下我在StackOverflow中给出的一些代码.在那段代码中,我有一个BigFraction类,它有一个BigInteger分子和一个BigInteger分母."规范"构造函数是BigFraction(BigInteger numerator, BigInteger denominator)表单.对于所有其他构造函数,我只是将输入参数转换为BigIntegers,并调用"规范"构造函数,因为我不想复制所有工作.

在某些情况下,这很容易; 例如,带两个longs 的构造函数是微不足道的:

  public BigFraction(long numerator, long denominator)
  {
    this(BigInteger.valueOf(numerator), BigInteger.valueOf(denominator));
  }
Run Code Online (Sandbox Code Playgroud)

但在其他情况下,这更难.考虑采用BigDecimal的构造函数:

  public BigFraction(BigDecimal d)
  {
    this(d.scale() < 0 ? d.unscaledValue().multiply(BigInteger.TEN.pow(-d.scale())) : d.unscaledValue(),
         d.scale() < 0 ? BigInteger.ONE                                             : BigInteger.TEN.pow(d.scale()));
  }
Run Code Online (Sandbox Code Playgroud)

我觉得这很难看,但它有助于我避免重复代码.以下是我想要做的,但它在Java中是非法的:

  public BigFraction(BigDecimal d)
  {
    BigInteger numerator = null;
    BigInteger denominator = null;
    if(d.scale() < 0)
    {
      numerator = d.unscaledValue().multiply(BigInteger.TEN.pow(-d.scale()));
      denominator = BigInteger.ONE;
    }
    else
    {
      numerator = d.unscaledValue();
      denominator = BigInteger.TEN.pow(d.scale());
    }
    this(numerator, …
Run Code Online (Sandbox Code Playgroud)

java syntax

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