小编Gar*_*eth的帖子

我可以在Rails中创建一个*un*命名范围吗?

我知道你可以在Rails中创建命名范围,它允许你指定可以在以后构建的条件:

named_scope :active, :conditions => {:active => true}

...

MyModel.active.find(...)
Run Code Online (Sandbox Code Playgroud)

这通过创建一个代理对象来工作,该代理对象直到稍后才进行评估.我想知道的是,是否可以创建一个动态的命名范围?

我的意思是,有一种方法'foo'我可以去

scope = MyModel.foo(:conditions => {:target_id => 4})
Run Code Online (Sandbox Code Playgroud)

然后scope作为代理对象传递,我可以做更多的.finds或其他范围的调用?

named-scope ruby-on-rails anonymous-scope

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

Rails 2.2.2 中的动态脚手架

class AdminController < ApplicationController
  scaffold :product
end
Run Code Online (Sandbox Code Playgroud)

上面的代码在 Rails 1.2 中可以正常工作。但对于上面提到的代码,它给出了 Rails 2.2.2 中缺少“scaffold”的错误方法。上面的代码用于Rails 1.2中的动态脚手架。Rails 2.2.2 支持这个动态脚手架吗?

或者我是否需要在 Rails 2.2.2 中使用 ruby​​ script/generate 'model_name' field_names 来生成静态脚手架?

ruby-on-rails scaffolding

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

如果以下字符不需要转义,转义字符应该怎么办?

我正在处理的应用程序有一个字段,可以输入字符串.

字符串中的特殊字符会在计算字符串时导致插入不同的内容,但这些特殊字符前面可以包含一个转义字符(反斜杠),这会导致特殊字符按字面输出而不是其特殊含义.

可以将其视为与正则表达式类似:.匹配任何字符但\.匹配点.

当转义字符后跟一个不需要转义的字符时,最直观的事情是什么?例如,它会更有意义:

  1. 转义字符"逃避"文字本身:\f变为f("逃脱的f")
  2. 转义字符不是转义字符,除非后跟一个特殊字符:\f保持为\f
  3. 错误!抛出一个异常,因为有一个转义字符无法逃避任何东西是无效的

所有这些都是可能的,在我看来是合理的.但哪个更有意义,哪个在其他语言中最常见?

language-agnostic escaping

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

为什么在 Ruby 中包含模块的顺序会有所不同?

这个问题最好用代码示例来总结:

module TestOne
  module Foo
    def foo
      42
    end
  end

  module Bar
    include Foo
  end

  class Quux
    include Bar
  end
end

TestOne::Bar.ancestors # => [TestOne::Bar, TestOne::Foo]
TestOne::Quux.ancestors # => [TestOne::Quux, TestOne::Bar, TestOne::Foo, Object, Kernel]
TestOne::Quux.new.foo # => 42

module TestTwo
  class Quux
  end

  module Bar
  end

  module Foo
    def foo
      42
    end
  end
end

TestTwo::Quux.send :include, TestTwo::Bar
TestTwo::Bar.send :include, TestTwo::Foo

TestTwo::Bar.ancestors # => [TestTwo::Bar, TestTwo::Foo]
TestTwo::Quux.ancestors # => [TestTwo::Quux, TestTwo::Bar, Object, Kernel]
TestTwo::Quux.new.foo # => 
# ~> -:40: undefined method …
Run Code Online (Sandbox Code Playgroud)

ruby module include

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

取消设置flex组件的显式高度值?

如果声明容器组件而未设置特定高度值,则contaniner的高度将自动设置为一个值,该值可以显示其所有内容/子项而无需滚动(如果可能).

使用适当的高度初始化组件后,我明确更改容器的高度值.

我的问题是,在我更改组件的高度后,是否可以切换回根据容器内容自动设置的原始高度?我正在寻找一些方法来取消组件高度的显式值.

apache-flex flex4

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

我应该真的抽象一切

所以我需要创建一个客户系统,而且没有多种类型的客户.

我还应该创建一个继承的接口或抽象类吗?

c# design-patterns

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

Flash添加错误

在Flash中创建一个新的AS3文档,粘贴以下代码并运行它:

var a:Number=0;
trace(a)  //  0
a+=0.3;
trace(a)  //  0.3
a+=0.3;
trace(a)  //  0.6
a+=0.3;

trace(a)  //  0.8999999999999999
a+=0.3;
trace(a)  //  1.2
a+=0.3;
trace(a)  //  1.5
a+=0.3;
trace(a)  //  1.8
a+=0.3;
trace(a)  //  2.1
a+=0.3;
          //  ^ This is the output. Notice the inaccuracy starting from 0.9 / 0.89
Run Code Online (Sandbox Code Playgroud)

为什么错误?我只是做一个普通的高分辨率加法.

任何解决方法?

math flash floating-point actionscript-3

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