有问题解决这个问题.
试图做一个
rescue_from NoMethodError, :with => :try_some_options
Run Code Online (Sandbox Code Playgroud)
但它不起作用.
编辑:为了测试我正在做一个简单的重定向
def try_some_options
redirect_to root_url
end
Run Code Online (Sandbox Code Playgroud)
编辑2:我的控制器示例.添加(例外),如下所示.
我知道我收到错误的原因.使用Authlogic和authlogic_facebook_connect插件.当从facebook插件创建用户时,如果用户在本地注册,则不会创建与用户相关联的"MyCar"模型.因为我确实调用了用户模型并在网站的不同部分引用了用户汽车,所以我想做一些类似于你在下面看到的内容并最终将它放在我的application_controller中.
class UsersController < ApplicationController
before_filter :login_required, :except => [:new, :create]
rescue_from NoMethodError, :with => :try_some_options
...
def show
store_target_location
@user = current_user
end
def create
@user = User.new(params[:user])
if @user.save
MyCar.create!(:user => @user)
flash[:notice] = "Successfully created profile."
redirect_to profile_path
else
render :action => 'new'
end
end
...
protected
def try_some_options(exception)
if logged_in? && current_user.my_car.blank?
MyCar.create!(:user => current_user)
redirect_to_target_or_default profile_path
end
end
...
end …Run Code Online (Sandbox Code Playgroud) 我已成功创建各种帐户验证器/服务,每个帐户验证器/服务都有自己的preference.xml.这些偏好是持久的,但我不知道它们存储在手机的哪个位置.我使用adb搜索了手机,但我似乎无法找到与我的特定帐户的首选项对应的*.db或"shared_prefs"文件.
有人有这方面的经验吗?
问候所有,
我正在使用VS 2010中的C#解决方案.现在,由于我的目标是AnyCPU,当我想构建我的安装程序时,我可以选择Release模式并点击构建,一切都为我完成.但是,很快我就不得不在解决方案中添加一个C++ DLL项目来完成一些低级的东西.为了避免为x86和x64提供两个不同的下载链接,我想在我的安装程序中包含这两个版本.但是,如果我必须为x86和x64分别配置,那将非常烦人.我必须建立一个,然后另一个,然后打包它.有没有什么方法可以让Visual Studio在发布模式中编译C++项目的x86和x64版本?
我有一个C#应用程序,其中服务器和一些客户端使用套接字从不同的计算机进行通信.
大多数情况下,服务器在sock.Receive(...)调用中接收到0个字节时会正确检测到断开连接.但是当出现硬件问题时(例如拔掉网络电缆),就会出现问题.一个服务器线程继续在sock.Receive(...)上阻塞,因为它不知道连接丢失了.我打算添加一个心跳消息来检测这个,但我想在dev中测试它.
但我不确定如何在没有实际硬件问题的情况下测试这种情况.即使我刚刚终止客户端进程,套接字也会以某种方式设法优雅地断开连接(也就是说,服务器读取0字节).只有当我从网络中拔出客户端机器时才会看到此问题.
有什么方法可以在dev中模拟这个问题吗?
我有一个模型,它部署一个延迟的作业,更新它的一些属性.该模型被宣布为"可搜索"......
searchable do
text :content, :stored => true
end
Run Code Online (Sandbox Code Playgroud)
...我认为在保存后会重新索引.在测试中,似乎并非如此.如果我运行:rake sunspot:reindex,那么一切都按预期工作.可能导致此问题的原因是什么?
我正在看一个经过严格调用JavaScript的签名Applet.显然,源自JavaScript的线程比使用Java直接启动的任何线程更加沙箱化.例如,如果JavaScript线程调用Applet并记录导致日志文件滚动的内容,则会引发安全性异常.直接在Applet中启动的任何线程都不会遇到此安全性异常.log4j的解决方案是使用异步appender.
但是对于其他安全性异常(例如在签名的Applet中使用Apache Axis但在JavaScript线程中),没有明显的方法来拥有一些异步线程.假设我有以下代码,如果从Java线程调用将起作用,并且如果通过JavaScript调用将失败并出现SecurityException:
public void someMethodCalledFromJavaScript() {
// Stuff that would throw a SecurityException
}
Run Code Online (Sandbox Code Playgroud)
我看到以下三个选项,但它们可能并非全部有效.为了便于讨论,请忽略执行是同步还是异步,因为这很容易管理.我很难理解安全模型的细节.以下是我的三个潜在选择:
开始一个新线程(这个甚至可以工作吗?):
public void someMethodCalledFromJavaScript() {
new Thread(new Runnable() {
public void run() {
// Stuff that would throw a SecurityException
}
}).start();
}
Run Code Online (Sandbox Code Playgroud)让Applet有一个随时可用的线程,通过JavaScript原始线程(此处高度简化的代码)触发:
private volatile boolean doit = false;
// This code is running in a Thread, started @ Applet init time
public void alwaysWaiting() {
while (true) {
if (doit) {
doit = false;
// Stuff that would throw a SecurityException
} …Run Code Online (Sandbox Code Playgroud)对于使用此格式的其他程序,需要将RGB或HEX颜色转换为"Long Int".虽然不确定"Long Int"颜色格式的细节.
可以使用此颜色选择器http://hide-inoki.com/en/soft/chunter/index.html手动生成"Long Int"值,但首选php函数.
hexdec为某些HEX值('FFFFFF','2F2F2F')生成正确的"Long Int"但不生成其他值('123456').
内存一致性错误和线程干扰之间有什么区别?如何使用同步来避免它们的不同?请举例说明.我无法从sun Java教程中得到这个.任何阅读材料的建议,只是在java的上下文中理解这将是有帮助的.
我有一个Time使用以下日期字符串调用的记录:20100902040003在输入文件中.
我需要一些PHP帮助来将其转换为更易读的东西,例如这种格式:2010-09-02 04:00:03
并且希望在打印出表数据时格式化它.
java ×2
php ×2
.net ×1
64-bit ×1
accounts ×1
algorithm ×1
android ×1
applet ×1
c# ×1
color-picker ×1
concurrency ×1
datetime ×1
hex ×1
javascript ×1
long-integer ×1
median ×1
networking ×1
rgb ×1
ruby ×1
security ×1
sockets ×1
solr ×1
sunspot ×1
timestamp ×1