小编Dmy*_*iak的帖子

在rails中生成javascript的完整URL(类似于javascript_path,但是url)

如何生成javascript文件的绝对链接.

我假设应该有类似下面的那个(遗憾的是似乎没有):

javascript_url 'main' # -> 'http://localhost:3000/javascripts/main.js'
Run Code Online (Sandbox Code Playgroud)

代替:

javascript_path 'main' # -> '/javascripts/main.js'
Run Code Online (Sandbox Code Playgroud)

我需要绝对URL,因为该javascript文件将用于书签.
另外我需要相同的css文件.

谢谢,
德米特里.

ruby url ruby-on-rails helpers

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

如果没有可用的标签,则运行标记的规范或ALL

我正在使用rspec和黄瓜守卫.要连续运行所选的规格,我只需使用focus标签来确定我想要处理的内容.

但问题是,如果没有该标签的规格,我想运行所有规格.

我怎样才能做到这一点?

注意::我知道所有RSpec选项.所以在阅读完问题后再回复.

ruby tdd rspec ruby-on-rails cucumber

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

测试终结器和IDisposable

问题是,如何在调用finalize时测试对象配置资源的事实。该类的代码:

public class TestClass : IDisposable {

    public bool HasBeenDisposed {get; private set; }

    public void Dispose() {
        HasBeenDisposed = true;
    }

    ~TestClass() {
        Dispose();
    }
}
Run Code Online (Sandbox Code Playgroud)

请注意,我现在不关心正确的Dispose / Finalize实现,因为我想首先找到对其进行测试的方法。在此阶段,如果调用了Dispose / Finalize软件,就可以假设将HasBeenDisposed设置为true。

我写的实际测试看起来像:用
WEAKREFERENCE更新

[Test]
public void IsCleanedUpOnGarbadgeCollection() {
    var o = new TestClass();
    o.HasBeenDisposed.Should().Be.False();

    **var weak = new WeakReference(o, true); // true =Track after finalisation
    o = null; // Make eligible for GC**

    GC.Collect(0, GCCollectionMode.Forced);
    GC.WaitForPendingFinalizers();


    **((TestClass)weak.Target)**.HasBeenDisposed.Should().Be.True();
}
Run Code Online (Sandbox Code Playgroud)

或我更喜欢的代码(ADDED AFTER UPDATE):

[Test]
public …
Run Code Online (Sandbox Code Playgroud)

.net unit-testing idisposable finalizer

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

在Application_Error中将异常转换为HTTP 404响应

首先,快速完成我想要实现的目标:将特定异常转换为HTTP 404,以便ASP.NET可以进一步处理它.

我用这种方式处理ASP.NET(MVC2)中的异常:

    protected void Application_Error(object sender, EventArgs e) {
        var err = Server.GetLastError();
        if (err == null)
            return;
        err = err.GetBaseException();

        var noObject = err as ObjectNotFoundException;
        if (noObject != null)
            HandleObjectNotFound();

        var handled = noObject != null;
        if (!handled)
            Logger.Fatal("Unhandled exception has occured in application.", err);
    }

    private void HandleObjectNotFound() {
        Server.ClearError();
        Response.Clear();
        // new HttpExcepton(404, "Not Found"); // Throw or not to throw?
        Response.StatusCode = 404;
        Response.StatusDescription = "Not Found";
        Response.StatusDescription = "Not Found";
        Response.Write("The …
Run Code Online (Sandbox Code Playgroud)

asp.net error-handling application-error http-status-code-404

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

/ it /和/\Ait\Z /有什么区别

在Ruby中,两个表达式似乎都做类似的事情:

'it' =~ /^it$/   # 0
'it' =~ /\Ait\Z/ # 0
# but
/^it$/ == /\Ait\Z/ # false
Run Code Online (Sandbox Code Playgroud)

所以我想知道^- \A$- 之间有什么区别,\Z以及如何选择使用哪一个?

ruby regex ruby-on-rails

5
推荐指数
2
解决办法
109
查看次数

ActiveRecord对象相等

根据ActiveRecord :: Base的文档:

==(comparison_object)如果comparison_object是完全相同的对象,或者compare_object属于同一类型且self具有ID并且它等于comparison_object.id,则返回true.

请注意,根据定义,新记录与任何其他记录不同,除非另一记录是接收者本身.此外,如果您使用select获取现有记录并将ID保留,您自己就可以使用,此谓词将返回false.

另请注意,销毁记录会在模型实例中保留其ID,因此已删除的模型仍具有可比性.

但我的观察表明,它只比较实例,而不是ids,以便以下是真实的:

a = Factory.create(:user)
b = User.find_by_email(a.email) # b is logically same as a

a.id.should == b.id # All good
a.should == b # FAILS: Contradicts the docs
a.should_not == b # Contradicts the docs
a.should_not eql b # Contradicts the docs
Run Code Online (Sandbox Code Playgroud)

问题是2个AR实例被认为是不同的,而文档明确说那些应该是平等的?

更新:平等正如预期的那样工作.上面的代码示例无关紧要.请参阅下面的答案.

ruby activerecord rspec ruby-on-rails rspec-rails

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

适用于.NET的嵌入式CMS

你能推荐一个CMS框架,它可以嵌入现有的 Web应用程序?

要求是:

  • 用户可以疯狂地根据自己的喜好进行定制.
  • 用户友好且易于使用.
  • 应该支持多租户(用户拥有自己的站点).
  • 应支持多个子域(因此文件上传和内容不应混淆).
  • 使用现有(非常)自定义身份验证和授权系统.
  • 应该是应用程序的一部分,以便共享相同的数据库和数据结构.
  • 应该可以轻松进行单元测试.

谢谢.

.net html asp.net editor content-management-system

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

如何序列化和反序列化邮件?

如何将邮件序列化以便存储以供进一步使用?

序列化的数据应该断开连接并且自给自足,以便在应该传递该消息的单独机器上传送(不知道数据库或其他任何东西).

ruby email serialization ruby-on-rails actionmailer

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

如何将Rails时区名称映射到PostgreSQL?

我需要使用类似的查询
SELECT * FROM items WHERE to_char(created_at AT TIME ZONE 'RAILS_GIVEN_ZONE', 'DD/MM/YYYY') ILIKE '%5/02%'

RAILS_GIVEN_ZONE值应始终使用Rails 4应用程序中的时区(可由用户更改),而不是PG的timezone选项。

但是问题在于,Rails和PG的时区并不完全一对一。

使用偏移量(如+10:00from中的值Time.zone.now.formatted_offset)还不够好,因为在这种情况下,PG将无法正确处理夏令时。

因此,问题是将Rails当前时区(Time.zone)自动映射到PostgreSQL 命名时区的最佳方法是什么?

注意:create_at列是timestamptz(存储为UTC,在必要的任何区域中显示)

ruby postgresql timezone ruby-on-rails

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

独立运行Rails引擎

如果我有一个可安装的Rails引擎,那么将它作为独立应用程序(不属于任何其他应用程序的一部分)安装在某个端点的最小配置是什么?

这最好只是一个简单的Rack应用程序,以便我可以选择一个合适的Web服务器(独角兽,美洲狮等).

ruby rack ruby-on-rails rails-engines

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