问题列表 - 第19790页

用户未登录时如何将用户重定向到登录页面

当用户登录时,我们将其用户ID存储在会话中.

session[:user_id] = user.id
Run Code Online (Sandbox Code Playgroud)

现在在我们网站的所有其他链接上,我们希望用户重定向 session[:user_id] == nil

我认为它将完成的方式是它将在控制器的每个方法中完成.

def show_customers
   if session[:user_id] == nil
     redirect_to (:controller => "authentication", :action => "login")
   #code related to show_customers goes here
end
Run Code Online (Sandbox Code Playgroud)

但这需要在每个控制器的每个方法中完成.

是否有更理智的Rails'y方式来做到这一点?

ruby-on-rails

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

lua_pop vs lua_remove

目前我正在用C++构建我自己的脚本VM管理器类,我对任何lua&lua C或C++的东西没有任何问题,但是让我感到困惑的一个部分是:何时使用lua_pop以及何时使用lua_remove.

据我所知,lua_pop是从上到下删除多个值(在堆栈上),消除不再需要的数据,lua_remove从任意有效的堆栈索引中删除单个值(基本上是lua手册所说的)对于两者:P).

但我注意到的是散落混杂各地的网络代码ceratin段lua_poplua_remove,但是当我试图用lua_pop,而不是lua_remove在呼叫只是删除栈顶元素,我遇到了问题,那么将有可能得到一个明确的例子或解释如何以及何时正确使用这两个功能,以及这两个功能的相关速度和效率(我假设lua_poplua_remove这更快,这是我想lua_pop尽可能多地使用的原因之一,除了编码'正确的代码')

谢谢 :)

c c++ lua

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

将文件列在与Java中的模式匹配的目录中

我正在寻找一种方法来获取与给定目录中的模式(pref regex)匹配的文件列表.

我在网上找到了一个使用apache的commons-io包的教程,代码如下:

Collection getAllFilesThatMatchFilenameExtension(String directoryName, String extension)
{
  File directory = new File(directoryName);
  return FileUtils.listFiles(directory, new WildcardFileFilter(extension), null);
}
Run Code Online (Sandbox Code Playgroud)

但这只是返回一个基本集合(根据文档,它是一个集合java.io.File).有没有办法做到这一点,返回一个类型安全的通用集合?

java io

79
推荐指数
4
解决办法
10万
查看次数

在C#中计算文件行

我想知道我的文件中有多少行.我怎么能以一种简单的方式做到这一点(我的意思是,不要遍历整个文件并计算每一行)?那是否有命令?

c# lines count

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

使用IEGumerable <T>使用WebGet序列化数据

可能重复:
当使用WCF,LINQ,JSON时,无法序列化'System.Linq.Enumerable ...'类型的参数


嗨,

如果我的方法signiature看起来像这样,它工作正常.

[WebGet]
MyClass[] WebMethod()
Run Code Online (Sandbox Code Playgroud)

如果签名看起来像这样

[WebGet]
IEnumerable<T> WebMethod()
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:无法序列化'XYZT + <WebMethod> d__2c'类型的参数(对于操作'WebMethod',合同'IService'),因为它不是确切的类型'System.Collections.Generic.IEnumerable`1 [XYZT] '在方法签名中并且不在已知类型集合中.要序列化参数,请使用ServiceKnownTypeAttribute将类型添加到操作的已知类型集合中.

我试过添加.ServiceKnownType(typeof运算(IEnumerable的))

同样的错误.

这是2010 beta 2中的错误,或者这可能是正确的吗?

谢谢

ienumerable serialization webget

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

构建一个'简单'的php url代理

我需要在我正在构建的Web应用程序中实现一个简单的PHP代理(基于Flash并且目标服务提供程序不允许编辑其crossdomain.xml文件)

任何php专家可以提供以下2个选项的建议吗?此外,我认为,但我不确定,我还需要包含一些标题信息.

感谢您的任何反馈!

选项1

$url = $_GET['path'];
readfile($path);
Run Code Online (Sandbox Code Playgroud)

选项2

 $content .= file_get_contents($_GET['path']);

 if ($content !== false) 
 {  

      echo($content);
 } 
 else 
 {  
      // there was an error
 }
Run Code Online (Sandbox Code Playgroud)

php proxy php4 proxy-classes

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

Java命令行Jar文件

我创建了一些.jar文件(使用Eclipse的导出功能),但它们都是GUI.我想创建一个严格命令行的.jar文件; 这可能吗?

java command-line jar

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

IoC和构造函数过注入反模式解析

这个问题是Jeffery Palermo关于如何解决分支代码和依赖注入问题的结果http://jeffreypalermo.com/blog/constructor-over-injection-anti-pattern/

在他的帖子中,Jeffery有一个class(public class OrderProcessor : IOrderProcessor),在构造函数上有2个接口.一个是验证器IOrderValidatorIOrderShipper接口.他的方法代码只在IOrderValidator接口上使用方法后才会分支,从不在IOrderShipper接口上使用任何东西.

他建议创建一个工厂,调用静态方法来获取接口的委托.他正在重构的代码中创建一个新对象,这似乎是不必要的.

我想问题的关键在于我们使用IoC来构建所有对象,无论它们是否被使用. 如果您实例化一个具有2个接口的对象并且具有可以分支以不使用其中一个的代码,那么您如何处理它?

在这个例子中,我们假设_validator.Validate(order)always总是返回false,并且IOrderShipper.Ship()永远不会调用该方法.

原始代码:

public class OrderProcessor : IOrderProcessor
{
    private readonly IOrderValidator _validator;
    private readonly IOrderShipper _shipper;

    public OrderProcessor(IOrderValidator validator, IOrderShipper shipper)
    {
      _validator = validator;
      _shipper = shipper;
    }

    public SuccessResult Process(Order order)
    {
      bool isValid = _validator.Validate(order);
      if (isValid)
      {
          _shipper.Ship(order);
      }
      return CreateStatus(isValid);
    }

    private SuccessResult CreateStatus(bool isValid)
    {
        return isValid ? SuccessResult.Success …
Run Code Online (Sandbox Code Playgroud)

.net c# dependency-injection inversion-of-control

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

从变量中删除Bourne Shell中的换行符

在bourne shell中,我有以下内容:

VALUES=`some command that returns multiple line values`

echo $VALUES
Run Code Online (Sandbox Code Playgroud)

好像:

"ONE"
"TWO"
"THREE"
"FOUR"
Run Code Online (Sandbox Code Playgroud)

我希望它看起来像:

"ONE" "TWO" "THREE" "FOUR"
Run Code Online (Sandbox Code Playgroud)

有人可以帮忙吗?

shell scripting newline line-breaks sh

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

更改nHibernate会话的CommandTimeout

如何在nHibernate中更改会话的命令超时.我知道它可以在App.Config中完成,但我想仅为一个业务操作增加默认值.

nhibernate ado.net

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