问题列表 - 第9945页

在rails中向用户发送评论通知?

我的webapp已注册用户,它也有文章,博客文章,闲话.对于所有这些资源,我有一个多态的Comment模型,如下所示.

id  content         commentable_id  commentable_type   user_id  created_at  updated_at
1   Frist comment   2               Article            1        ....
2   Second comment  3               Post               2        .....
Run Code Online (Sandbox Code Playgroud)

因此,对于每个可评论资源,我在可评论资源的底部都有一个评论表单供用户评论.我想要一个复选框,在提交评论时检查时,用户应该收到通知,无论是收件箱还是电子邮件,因为我们已经在用户注册时收到通知,之后会添加其他新评论.

我希望有一些像Notifications这样的模型,我可以存储commentable_type,commentable_id和user_id(如果有匹配的commentable和user创建了新的评论,应该向谁发送通知?

如何实现评论和通知之间的关联?对于检查部分,如果有任何一个订阅特定可注释资源,则创建一个带有after_create挂钩的CommentObserver来初始化搜索,并在有任何匹配记录时发送通知.

但我很困惑协会,模型,控制器和视图会是什么样子才能实现这一目标?由于评论模型已经是多态的,我可以将Notification模型创建为多态吗?

ruby notifications comments ruby-on-rails

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

前/后函数调用实现

我想知道我是否能以某种方式在C++中进行前/后函数调用.我有一个包含很多函数的包装类,在每次包装函数调用之后我应该调用另一个总是相同的函数.

所以我不想把postFunction()调用放到这样的每一个函数中:

class Foo {
    f1();
    f2();
    f3();
    .
    .
    .
    fn();
}

void Foo::f1() {
    ::f1();
    postFunction();
}

void Foo::f2() {
    ::f2();
    postFunction();
}

etc.
Run Code Online (Sandbox Code Playgroud)

相反,当我调用一些Foo的成员函数时,我希望自动调用postFunction.可能吗?这将有助于维护..

c++ function

4
推荐指数
2
解决办法
1796
查看次数

我应该在实施中使用自我关键字(属性)吗?

我相信我在很大程度上理解属性.我的问题是,如果我有一个实例变量的属性,并且我在我的实现文件中的方法中设置或检索它,我应该使用self.myProperty还是只是myProperty?我知道其中一个有效,但我看到了混合约定,有时代码直接访问变量,有时则通过属性访问变量.

这样做有技术原因吗?这只是公约/个人偏好吗?而且我不是指方法的参数名称与实例变量名称冲突的实例,这可能是使用该属性的一个原因(至少,在其他语言中,我不知道这个).我假设当一个人在实现中使用该属性时,他们想要利用他们声明属性的方式(即非原子,保留),所以例如在方法中,人们可以这样做:

self.myProperty = [someObject someAutoReleasedObject];
Run Code Online (Sandbox Code Playgroud)

代替:

myProperty = [[someObject someAutoReleasedObject] retain];
Run Code Online (Sandbox Code Playgroud)

这是什么原因?那么只有某些情况才能使用该物业吗?

我是Objective-C的新手,这是让我困惑的少数事情之一.到目前为止,我刚刚直接访问了实例变量,最可能的错误假设是,通过属性实际调用/发送方法/消息并增加了不必要的开销.我很确定我错了,但即使开销的差异可以忽略不计(如果有的话),为什么只要直接访问变量就可以选择加入?

我很确定我的想法是错的,这就是我在这里问的原因.

language-features properties conventions objective-c

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

SQL查询信息*不是*在数据库中

我有一个很大的电子邮件地址列表,我需要确定哪些不在我的数据库中.我可以构建一个能告诉我这些信息的查询吗?

我正在使用SQL Server 2000,如果它需要非标准扩展

sql sql-server

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

如何为Emacs文件设置语法高亮显示

我的.emacs就像是我的路线图,我在那里获取了很多文件.他们的扩展名是.emacs:例如,

 fileName.emacs
Run Code Online (Sandbox Code Playgroud)

问题是只有〜/ .emacs有语法高亮.

我想为所有以.emacs结尾的源文件突出显示语法.

如何将语法高亮显示在所有源.emacs -files上?

emacs elisp syntax-highlighting

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

获取第一个字符不是字母数字的行

我正在为我正在开发的一个小项目添加一些新功能,其中一个是alpha分页,看起来像

#0-9 ABCDE ... XYZ

我可以使用类似的东西轻松地通过他们的第一个字母获取项目

SELECT * FROM ... WHERE name LIKE 'A%' ...
Run Code Online (Sandbox Code Playgroud)

将以数字和所有其他字符开头的所有内容分组有点困难,我认为它必须使用MySQLs REGEXP.

为了清楚起见,我需要帮助创建两个查询,这些查询将获取所有行

  • 列的第一个字符是数字
  • 列的第一个字符不是字母数字

regex mysql sql database

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

那里有"功能大小分析器"吗?

在从事C++项目三年后,可执行文件已增长到4 MB.我想看看所有这些空间的去向.有没有一种工具可以报告最大的太空猪是什么?很高兴看到按类(类中的所有函数),模板(所有实例化)和库(多少属于C标准库和STL?exe中的每个库有多少?)的大小.

编辑:注意,我在Windows上使用Visual C++.

c++ size profiler function

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

在VC++调试器上计算表达式时,为什么会出现"成员函数不存在"错误?

MyClass::myMethod()在另一个DLL上有一个静态方法MyDll.dll.在我的代码中,我调用此方法,它编译并运行正常.

但是当我MyClass::myMethod()在即时窗口(或观察窗口)中尝试时,我总是得到:

MyClass::myMethod()
CXX0052: Error: member function not present
Run Code Online (Sandbox Code Playgroud)

这是为什么?

更新:我发现当我使用上下文运算符时,它可以工作:

{,,MyDLL}MyClass::myMethod()
Run Code Online (Sandbox Code Playgroud)

我不确定为什么需要它,所以我要稍等一下,看看是否有人有一个很好的解释.

更新2:我被要求提供更多信息.不幸的是,我所描述的几乎就是我所拥有的一切.这是第三方代码.该方法驻留在不同的DLL上,声明如下:

class MyClass
{
 public:
 // ...
 _declspec(dllimport) static const char *getDirectory(void);
}
Run Code Online (Sandbox Code Playgroud)

它被调用如下:

MyClass::getDirectory ()
Run Code Online (Sandbox Code Playgroud)

我没有消息来源.它是在VC++ 9下的Debug模式下编译的.

c++ debugging visual-c++

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

IEnumerable <T> .Reverse是如何工作的?

我正在检查反射器中的代码,但我还没有发现它如何通过集合向后枚举?

由于没有计数信息,枚举总是从集合的"开始"开始,对吧?

这是.NET框架中的缺点吗?成本是否高于常规枚举?

.net c# linq collections

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

如何在.NET版本上发展.NET代码库

我有一组很久以前开发的.NET组件(1.1).我想继续为需要该版本的任何客户端提供1.1版本,但也提供版本 - 在某些情况下为.NET 2和.NET 3(.5)提供相同的代码,在某些情况下还有增强功能.在后面的每种情况下,我可能希望利用平台的新功能来处理某些组件.

我正在寻找有关这种情况下最佳做法的指导.

在我不打算对组件进行任何更改的情况下,我想我仍然可以将其作为1.1提供,以后的库/应用程序可以按原样使用1.1程序集.我怀疑可能仍然有充分的理由提供使用更高版本的.NET构建的程序集 - 例如性能 - 但我的理解是我可以提供1.1.它是否正确?

在我希望保持组件代码的大部分代码与1.1一起使用的情况下,还要为更高版本的.NET添加功能,最好的方法是什么?

  • 单独的代码分支
  • C#预处理器
  • 在.NET 2+版本的单独(新)类中提供功能,并使用原始的via,例如,组合
  • 我还不知道的一些其他高级.NET技巧

此外,任何关于如何处理组装签署的建议将不胜感激.

提前致谢

.net c# .net-3.5 .net-2.0

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