小编Kev*_*ang的帖子

如何将文件夹与现有的Heroku应用程序链接

我在GitHub上有一个现有的Rails应用程序并部署在Heroku上.我正在尝试建立一个新的开发机器,并从我的GitHub存储库中克隆了该项目.但是,我很困惑如何将此文件夹链接到Heroku.最初,我使用了heroku create命令,但显然我这次不想这样做,因为它会创建另一个Heroku实例.

git heroku

794
推荐指数
5
解决办法
23万
查看次数

如何从ASP.NET MVC中的枚举创建下拉列表?

我正在尝试使用Html.DropDownList扩展方法,但无法弄清楚如何将它与枚举一起使用.

假设我有一个这样的枚举:

public enum ItemTypes
{
    Movie = 1,
    Game = 2,
    Book = 3
}
Run Code Online (Sandbox Code Playgroud)

如何使用Html.DropDownList扩展方法创建包含这些值的下拉列表?

或者我最好的办法是简单地创建一个for循环并手动创建Html元素?

c# asp.net asp.net-mvc

653
推荐指数
21
解决办法
34万
查看次数

如何在Rails迁移中将可空列更改为不可为空?

我在之前的迁移中创建了一个日期列,并将其设置为可为空.现在我想把它改成不可空.假设该数据库中有空行,我该怎么做呢?如果它们当前为空,我可以将这些列设置为Time.now.

migration ruby-on-rails

181
推荐指数
5
解决办法
9万
查看次数

有多少构造函数参数太多了?

假设您有一个名为Customer的类,其中包含以下字段:

  • 用户名
  • 电子邮件
  • 名字

我们还要说,根据您的业务逻辑,所有Customer对象都必须定义这四个属性.

现在,我们可以通过强制构造函数指定每个属性来轻松地完成此操作.但是,当您被迫向Customer对象添加更多必需字段时,很容易看出它会如何失控.

我已经看到了在构造函数中加入20多个参数的类,使用它们只是一种痛苦.但是,或者,如果您不需要这些字段,则可能会遇到未定义信息的风险,或者更糟糕的是,如果您依赖调用代码来指定这些属性,则会引发对象引用错误.

有没有替代方案,或者你只需​​要决定X的构造函数参数是否太多,你不能忍受?

parameters refactoring constructor coding-style

126
推荐指数
7
解决办法
5万
查看次数

ASP.NET MVC中的日志记录错误

我目前正在ASP.NET MVC应用程序中使用log4net来记录异常.我这样做的方法是让我的所有控制器继承自BaseController类.在BaseController的OnActionExecuting事件中,我记录可能发生的任何异常:

protected override void OnActionExecuted(ActionExecutedContext filterContext)
{
    // Log any exceptions
    ILog log = LogManager.GetLogger(filterContext.Controller.GetType());

    if (filterContext.Exception != null)
    {
        log.Error("Unhandled exception: " + filterContext.Exception.Message +
            ". Stack trace: " + filterContext.Exception.StackTrace, 
            filterContext.Exception);
    }
}
Run Code Online (Sandbox Code Playgroud)

如果在控制器操作期间发生未处理的异常,则此方法很有用.

至于404错误,我在web.config中设置了自定义错误,如下所示:

<customErrors mode="On">
    <error statusCode="404" redirect="~/page-not-found"/>
</customErrors>
Run Code Online (Sandbox Code Playgroud)

在处理"页面未找到"网址的控制器操作中,我记录了所请求的原始网址:

[AcceptVerbs(HttpVerbs.Get)]
public ActionResult PageNotFound()
{
    log.Warn("404 page not found - " + Utils.SafeString(Request.QueryString["aspxerrorpath"]));

    return View();
}
Run Code Online (Sandbox Code Playgroud)

这也有效.

我遇到的问题是如何记录.aspx页面本身的错误.假设我在其中一个页面或某些内联代码上出现编译错误,这将导致异常:

<% ThisIsNotAValidFunction(); %>
<% throw new Exception("help!"); %>
Run Code Online (Sandbox Code Playgroud)

似乎HandleError属性正确地将其重新路由到Shared文件夹中的Error.aspx页面,但它肯定没有被我的BaseController的OnActionExecuted方法捕获.我想我可以将日志代码放在Error.aspx页面本身,但我不确定如何在该级别检索错误信息.

error-handling asp.net-mvc

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

ASP.NET MVC - 控制器中是否应存在业务逻辑?

Derik Whitaker 几天前发表了一篇文章,这篇文章引起了我一直好奇的一段时间:控制器中是否存在业务逻辑?

到目前为止,我见过的所有ASP.NET MVC演示都将存储库访问和业务逻辑放在控制器中.有些甚至在那里抛出验证.这会导致相当大的膨胀控制器.这真的是使用MVC框架的方式吗?看起来这最终会导致很多重复的代码和逻辑分散在不同的控制器上.

asp.net-mvc design-patterns controller business-logic

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

你如何进行地址验证?

甚至可以执行地址(物理,而不是电子邮件)验证?看起来大量的地址格式,即使仅在美国,也会使这个任务变得相当困难.另一方面,对于多个业务需求而言,这似乎是一项必要的任务.

validation street-address

86
推荐指数
5
解决办法
14万
查看次数

在RSpec测试后清除ActionMailer :: Base.deliveries

我的UserMailer类有以下RSpec测试:

require "spec_helper"

describe UserMailer do
  it "should send welcome emails" do
    ActionMailer::Base.deliveries.should be_empty
    user = Factory(:user)
    UserMailer.welcome_email(user).deliver
    ActionMailer::Base.deliveries.should_not be_empty
  end
end
Run Code Online (Sandbox Code Playgroud)

这个测试第一次通过,但第二次运行失败了.在进行一些调试后,看起来第一个测试向ActionMailer :: Base.deliveries数组添加了一个项目,该项目从未被清除.这会导致测试中的第一行失败,因为数组不为空.

在RSpec测试之后清除ActionMailer :: Base.deliveries数组的最佳方法是什么?

unit-testing rspec ruby-on-rails actionmailer

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

将javascript放在一个.js文件中或将其分解为多个.js文件?

我的Web应用程序使用jQuery和一些jQuery插件(例如验证,自动完成).我想知道是否应该将它们粘贴到一个.js文件中,以便可以更轻松地缓存它,或者将它们分解为单独的文件,并且只包含我需要的给定页面.

我还要提一下,我关注的不仅是下载.js文件所需的时间,还包括根据加载的.js文件的内容减慢页面的速度.例如,添加自动完成插件往往会使我的基本测试的响应时间缩短100ms,即使在缓存时也是如此.我的猜测是它必须扫描DOM中导致此延迟的元素.

javascript

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

将锚标记设置为看起来像提交按钮

我有一个表单,其中有一个"提交"按钮和一个"取消"锚点.HTML是这样的:

<input type="submit" value="Submit" />
<a href="some_url">Cancel</a>
Run Code Online (Sandbox Code Playgroud)

我希望两个人看起来和行为一样.没什么好看的,只是类似于"Ask Question"锚点在StackOverflow上看起来的样子.

我可以让两个看起来有点相似,包括边界框,背景颜色和悬停背景颜色,但我不能完全获得高度和垂直对齐以便彼此玩得很好.我发布了我的CSS但是现在这样一团糟,我认为从头开始可能更容易,让准系统的CSS布局工作,然后继续前进.

PS我知道我可以使用an而不是锚点并挂钩onClick事件来进行重定向.现在,使用锚来解决这个问题几乎是一个原则问题(此外还要考虑网络蜘蛛的考虑因素).

html css

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