小编Hei*_* Yu的帖子

Javascript正则表达式挂起(使用v8)

我正在使用此正则表达式来获取文件中的标记内容.

var regex = new RegExp("<tag:main>((?:.|\\s)*)</tag:main>");
Run Code Online (Sandbox Code Playgroud)

这会导致v8引擎无限期挂起.

现在,如果我使用new RegExp("<tag:main>([\s\S]*)</tag:main>"),一切都很好.

任何人都知道为什么第一个需要太长时间?

javascript regex v8

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

Rails belongs_to不会使用自定义类名设置外键ID

我的模型设置如下:

class User < ActiveRecord::Base
  has_many :posts, :foreign_key => 'author_id'
end

class Post < ActiveRecord::Base
  belongs_to :author, :class_name => 'User'
end
Run Code Online (Sandbox Code Playgroud)

假设:

p = Post.first # just any post instance
a = User.first # any user instance
Run Code Online (Sandbox Code Playgroud)

现在这段代码表现得非常奇怪

p.author = a
Run Code Online (Sandbox Code Playgroud)

设置作者后,author_id帖子的属性应设置为用户的id.但这不会发生.

我尝试使用belongs_to没有class_name参数的模型,一切都按预期工作.

现在,还有一件令人讨厌的事情是,当我改变关联时belongs_to :author, :class_name => 'User', :foreign_key => 'author_id',它会令人惊讶地起作用.

这是Rails 3.0.9中的错误吗?外键参数不应该是不必要的,因为正如文档所说,它的默认值是附加的关联的名称_id.

另请注意,即使没有:foreign_key => 'author_id',关联关系的其他所有内容都按预期工作.(就像获取相关模型一样)唯一不起作用的是setter方法没有设置外键.

我知道我可以做p.author_id = a.id或者只是将:foreign_keyparams 添加到我的所有关联中class_name,但我更喜欢更优雅的语法p.author = …

belongs-to ruby-on-rails-3

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

使用CGridView进行模型的关联

我有一个has_many关联的模型.

我们只想说学生有很多课程.

我想使用CGridView显示特定学生的所有课程.

像这样的东西:

$this->widget('zii.widgets.grid.CGridView', array(                                                 
  'dataProvider' => $model->courses,                                                             
  'columns'=>array(                                                                                                                                                                            
    'name',                                                                                                                                                                                  
  ),                                                                                                 
));
Run Code Online (Sandbox Code Playgroud)

也试过new CActiveDataProvider($model->courses)dataProvider但仍然无法正常工作.

是否有捷径可寻?或者我是否必须在课程模型上创建搜索条件,并手动从学生模型中获取一些标准?

yii relationships

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

如何获取wkhtmltopdf正文中的总页数?

是否可以访问主要内容体中的"topage"变量?

我知道你可以在页眉和页脚中做到这一点,但在这个特定的用例中,我需要在正文中添加一句话:

"本文件包含XX页".

wkhtmltopdf wicked-pdf

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

使用填充样式化HTML FORM元素,宽度为100%

我正在通过使用具有固定宽度列的表来设置表单样式,并且我希望其中的输入元素<td>填充容器.我知道CSS盒子模型,我知道元素会流失width: 100%,但问题在于它的一致性.

<input>元素按预期渗透,但<select>元素没有.这导致我的字段没有正确排列.我已经尝试了所有属性,如溢出,显示,空白......它没有任何区别.用什么<select>元素?我可以在Firebug中看到它们与input元素具有相同的box模型属性,但它们不会呈现相同的.

我正在使用HTML 5 doctype,这在Firefox和Chrome中都会发生.

现在,我正在使用JS函数修复此问题,该函数选择具有类拉伸的所有元素并计算并设置静态宽度以使其适合容器内部.这完美地排列了表单的元素.(我不得不排除<select>元素,因为它们的宽度已经好了......奇怪的怪癖.)

有一个纯CSS解决方案吗?我不希望每次更新页面的一部分时都运行此函数,就像在AJAX调用上一样...

html javascript css forms width

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

ruby on rails命名范围实现

来自Agile Web Development With Rails一书

class Order < ActiveRecord::Base
   named_scope :last_n_days, lambda { |days| {:conditions =>
      ['updated < ?' , days] } }

   named_scope :checks, :conditions => {:pay_type => :check}
end
Run Code Online (Sandbox Code Playgroud)

该声明

orders = Orders.checks.last_n_days(7)
Run Code Online (Sandbox Code Playgroud)

只会对数据库进行一次查询.

rails如何实现这一目标?我是Ruby的新手,我想知道是否有一个允许这种情况发生的特殊构造.

为了能够链接这样的方法,named_scope生成的函数必须返回自己或者可以进一步调整范围的对象.但Ruby如何知道它是最后一个函数调用,它现在应该查询数据库?

我问这个是因为上面的语句实际上是查询数据库而不仅仅是返回链接产生的SQL语句.

ruby named-scope ruby-on-rails

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