问题列表 - 第36163页

Rails:从模型或控制器发送电子邮件通知更好吗?

假设邮件被发送以便稍后处理(即通过starling或delayed_job).

我想知道的是从ActiveControllers或ActiveRecords 发送电子邮件通知更好的做法?

我想将它放在控制器中是有用的,因为你可能想要控制是否应该发送电子邮件(即在模型保存一些其他标准后可能很重要)但是有一个地方(模型)的想法如果在保存(创建或更新等)之后从模型处理电子邮件也是有用的,则发送电子邮件.

有没有人有这种困境?你选择哪个,为什么?你做了完全不同的事吗?

email notifications ruby-on-rails

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

添加权限WAKE_LOCK,现在Droids出现问题

我有一个现有的应用程序在所有手机上运行正常.
我添加了WAKE_LOCK权限,因此我可以控制应用程序何时进入睡眠状态.
它在我的HTC Hero上运行良好,所以我发布了新的更新.我立即开始收到来自Droid用户的电子邮件,这些应用程序在用完之后就不再在手机上启动了.尝试启动应用程序时,它们"无法启动请求的活动",但如果他们从App Store按钮运行应用程序,则允许他们运行应用程序一次.
我删除了权限,现在Droid用户可以正常运行该应用程序.
这是我的清单xml:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
     package="com.krugism.EntitySensor"
     android:versionName="2.8" android:versionCode="12">
   <application android:icon="@drawable/icon"
       android:label="@string/app_name" android:debuggable="false"
       android:permission="android.permission.WAKE_LOCK">
       <activity android:name=".EntitySensor"
                 android:label="@string/app_name"
                 android:screenOrientation="portrait"
                 android:permission="android.permission.WAKE_LOCK">
           <intent-filter>
               <action android:name="android.intent.action.MAIN" />
               <category android:name="android.intent.category.LAUNCHER" />
           </intent-filter>
       </activity>
       <activity android:name=".SettingsPref" android:label="@string/app_name">
       </activity>
   </application>
       <uses-sdk android:minSdkVersion="3"     />
       <uses-permission android:name="android.permission.WAKE_LOCK" />
</manifest>
Run Code Online (Sandbox Code Playgroud)

任何想法为什么这将是Droid手机上的问题?我没有听说过任何其他手机出现此问题.
谢谢,斯科特

android

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

如何从一个画布复制到另一个画布

我想将在一个画布(细节)中绘制的图像复制到另一个画布中.通常讨论的使用位图的解决方案将无法工作,因为Bitmap类没有许多属于Canvas类的重要方法.还有其他解决方案吗?

user-interface android canvas

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

在cmd.exe中,如何让一个变量转义为setlocal命令?

我经常发现自己setlocal在内部使用cmd.exe以避免使用临时变量污染环境变量空间(并确保命令扩展和延迟扩展都处于活动状态).

但是,如果我真的希望其中一个变量可用,我对如何做到这一点感到茫然.

请考虑以下代码,它为您提供当前目录的最终组件(因此c:\pax\dir1会给您dir1):

        @echo off
    :main
        setlocal enableextensions enabledelayedexpansion
        call :func
        echo.main_folder = %folder%
        endlocal
        goto :eof

    :func
        setlocal enableextensions enabledelayedexpansion
        set temp=%cd%
        set folder=
    :funcloop1
        if not "x%temp:~-1%"=="x\" (
            set folder=!temp:~-1!!folder!
            set temp=!temp:~1,-1!
            goto :funcloop1
        )
        echo.func_folder = %folder%
        endlocal
        goto :eof

当我运行它时,我得到输出:

func_folder = dir1
main_folder =
Run Code Online (Sandbox Code Playgroud)

你可以看到%folder%变量不能存活endlocal.但是,如果我setlocal/endlocal从函数中temp取消,则变量会污染命名空间main.

我知道我可以set temp=在最后使用,func这将删除环境变量,但不包括我已经在外部范围内使用该变量的情况(在这种情况下它完全被破坏).

有没有办法cmd.exe允许一组选定的环境变量传播到外部范围,同时仍然阻止其他人影响它?换句话说,你可以同时拥有局部变量和返回变量吗?


除此之外,请不要告诉我有更好的方法来获得最终路径组件.这只是一个例子.

实际上,你可以 …

windows scope cmd batch-file

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

摘要DAO模式和Spring的"代理无法转换为......"问题!

我知道这经常被问到,但我找不到一个有效的解决方案:

这是我的AbstractDAO:

public interface AbstractDao<T>
{
  public T get(Serializable id);
  //other CRUD operations
}
Run Code Online (Sandbox Code Playgroud)

这是我的JPA实现:

public abstract class AbstractDaoJpaImpl<T> implements AbstractDao<T> , Serializable
{
  protected EntityManager em;

  protected Class<T> clazz;

  @SuppressWarnings("unchecked")
  public AbstractDaoJpaImpl()
  {
    ParameterizedType genericSuperclass = (ParameterizedType) getClass().getGenericSuperclass();
    this.clazz = (Class<T>) genericSuperclass.getActualTypeArguments()[0];
  }

  public abstract void setEntityManager(EntityManager em);  
  //implementations skipped
}
Run Code Online (Sandbox Code Playgroud)

这是一个实体的道:

public interface PersonDao extends AbstractDao<Person>
{
  //empty
}
Run Code Online (Sandbox Code Playgroud)

这是它的实现:

@Repository
public class PersonDaoImpl extends AbstractDaoJpaImpl<Person> implements PersonDao , OtherInterface
{
  @PersistenceContext(unitName="company")
  @Override
  public void setEntityManager(EntityManager em)
  { …
Run Code Online (Sandbox Code Playgroud)

java spring cglib genericdao

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

App Store提交 - Hi-Res屏幕截图在iTunes Connect中

我已经通过iTunes Connect开发人员指南6.1进行了搜索 - 但似乎无法找到任何相关信息.

我刚刚完成将元数据输入iTunes Connect以获取新应用.这个应用程序在iPod和iPhone上运行,并具有针对Retina显示屏优化的图形,因此它具有适用于所有图形的@ 2x图像.

我准备了5个屏幕截图加载到iTunes Connect(5个在480x320用于非Retina显示屏,5个在920x640用于Retina显示设备).我希望对于每个低分辨率的屏幕截图,我需要在高分辨率中加载相同的版本...但是,当我尝试在iTunes Connect中上传屏幕截图时,iTunes Connect只允许上传5个屏幕截图.我决定上传高分辨率版本并且没有上传低分辨率版本.

问题:我错过了什么吗?iTunes Connect中是否有一些选项可以上传低分辨率和高分辨率的屏幕截图?iTunes Connect开发人员指南6.1的第52页规定了Retina显示兼容应用程序的高分辨率屏幕截图尺寸,但我对如何上传低版本和高分辨率版本感到困惑.

提前致谢.

iphone itunesconnect ios4

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

链接问题,c ++成员函数到C回调

我正在尝试使用函数指针将c ++成员函数与遗留C库连接起来 - 我无法理解为什么这会导致链接错误,有人能看出原因吗?

链接错误

/tmp/ccl2HY1E.o: In function `VerifyWrapper::verifyGlue(int)': callback.cpp:(.text._ZN13VerifyWrapper10verifyGlueEi[VerifyWrapper::verifyGlue(int)]+0xe): undefined reference to `VerifyWrapper::vfy'
/tmp/ccl2HY1E.o: In function `VerifyWrapper::set(Verify&)': callback.cpp:(.text._ZN13VerifyWrapper3setER6Verify[VerifyWrapper::set(Verify&)]+0xf): undefined reference to `VerifyWrapper::vfy'
Run Code Online (Sandbox Code Playgroud)

编译:g ++ callback.cpp -o callback

#include <iostream>
using namespace std;

class Verify
{
public:
    int verify(int i) { return i * 2; };
};


class VerifyWrapper
{
public:
    static int verifyGlue(int i) { return vfy->verify(i); };
    static void set(Verify& v) { vfy = &v;};
private:
    static Verify* vfy;
};


// legacy function
int func(int i, int(*f)(int))
{ …
Run Code Online (Sandbox Code Playgroud)

c++ static callback

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

如何从QProcess获取STDOUT?

我以为我将使用以下代码从QProcess获取输出:

// Start the process
process.start(tr("php-cgi www/test.php"),QIODevice::ReadWrite);

// Wait for it to start
if(!process.waitForStarted())
    return 0;

// Continue reading the data until EOF reached
QByteArray data;

while(process.waitForReadyRead())
    data.append(process.readAll());

// Output the data
qDebug(data.data());
qDebug("Done!");
Run Code Online (Sandbox Code Playgroud)

我期待的是看到程序的输出打印到调试控制台,但我看到的只有:

完成!

我知道:

  • 程序启动正常,因为打印结束时的消息.
  • 该程序确实打印输出,因为在终端中运行完全相同的命令会产生一个长串的文本.

我在这做错了什么?

qt stdout process qprocess

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

带有命令的xargs,打开编辑器将shell留在奇怪的状态

我尝试为提交几个不同的git项目创建一个别名.我试过类似的东西

cat projectPaths | \
xargs -I project git --git-dir=project/.git --work-tree=project commit -a
Run Code Online (Sandbox Code Playgroud)

其中projectPaths是一个文件,包含我要提交的所有项目的路径.这似乎在很大程度上起作用,按顺序为每个项目启动vi,以便我可以为它编写一个提交消息.但是,我得到一个消息:

"Vim:警告:输入不是来自终端"

然后我的终端很奇怪:它没有显示我输入的文本,似乎没有输出任何换行符.当我进入"重置"时,事情几乎恢复正常,但显然我做错了什么.

有没有办法在不弄乱shell的情况下获得相同的行为?

谢谢!

unix vi bash scripting

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

可可教程建议

我正在为Mac应用程序学习Cocoa编程.我在哪里可以找到一个好的视频教程或在线课程?

macos xcode cocoa

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