问题列表 - 第16813页

validates_presence_of导致使用奇怪的自我调用after_initialize

我有这个模型工作正常:

class Weight < ActiveRecord::Base
  belongs_to :user
  validates_presence_of :weight, :measured_on
  attr_accessible :weight, :measured_on

  def after_initialize
    self.measured_on ||= Date.today
  end
end
Run Code Online (Sandbox Code Playgroud)

我添加了这一行

validates_uniqueness_of :measured_on, :scope => :user_id
Run Code Online (Sandbox Code Playgroud)

它开始在验证时抛出错误.不是验证错误,而是Ruby错误:

>> w.valid?
ActiveRecord::MissingAttributeError: missing attribute: measured_on
    from /Users/pupeno/Projects/sano/app/models/weight.rb:8:in `after_initialize'
Run Code Online (Sandbox Code Playgroud)

我在after_initialize中放了一个调试器语句,我注意到了一些意想不到的事情.当我创建一个新的权重时,它按预期工作,after_initialize上的self对象是预期的权重:

>> w = Weight.new
/Users/pupeno/Projects/sano/app/models/weight.rb:9
self.measured_on ||= Date.today
(rdb:1) p self
#<Weight id: nil, user_id: nil, weight: nil, measured_on: nil, created_at: nil, updated_at: nil>
(rdb:1) c
=> #<Weight id: nil, user_id: nil, weight: nil, measured_on: "2009-11-22", created_at: nil, updated_at: nil>
Run Code Online (Sandbox Code Playgroud)

当我运行w.valid?它变得奇怪.再次调用after_initialize,我不知道为什么,自我对象不是我所期望的:

>> w.valid? …
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails

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

找出进程在linux上使用的内存页数

我需要找出进程分配的内存页数?每个页面都是4096,进程内存使用情况我在查找正确值时遇到一些问题.当我在gome-system-monitor中查看时,在内存映射下有一些值可供选择.

谢谢.

这一点是将内存使用量除以页面计数并验证页面大小.

linux memory paging

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

JBoss MQ教程

我正在寻找一个JBoss MQ教程(在JBoss工具上),这样我就可以编写一个MDB和一个客户端.我只能找到JBoss Messaging.

java jboss ejb java-ee jboss-mdb

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

使用phpDocumentor解析Javascript文件

我最近一直在玩phpDocumentor,发现它非常适合我的需求.我主要使用PHP/HTML/JS/CSS代码库,并希望phpDocumentor解析我的Javascript(也许还有CSS),以便将它们保存在一起.

我设法让phpdoc解析整个代码库中包含的javascript文件 - 但它拒绝了页面级别的docblock - 这导致它拒绝了各种标签(见下文).我发现通过在PHP文件的顶部添加一个PHP开放标记(前面带有JavaScript注释),我可以让它像PHP文件一样解析它.

// <?php
/**
 * phpdoc goes here
 * @package
 * @todo
 *   - Todo 1
 *   - Todo 2
 */
function javascript(goes, here) {
}
Run Code Online (Sandbox Code Playgroud)

如果通过PHP将Web服务器设置为服务器.js文件,我可以想到会出现问题.有没有人能想到的其他问题?有没有更好的方法来实现这一目标?

谢谢

javascript parsing phpdoc

4
推荐指数
2
解决办法
4711
查看次数

检查电子邮件是否有效且存在

我正在开发一个Web应用程序,要求我检查用户的电子邮件是否有效且存在.(我正在进行正则表达式检查)问题是验证电子邮件是否存在的最佳做法是什么?

以下是我的一些选项:

  1. 发送电子邮件给用户并让他们确认电子邮件地址
  2. 做一个VRFY SMTP - 这仍然使用?我应该费心吗?
  3. 还有其他好主意吗?

email email-validation email-verification

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

在没有表模式的情况下将 CSV 导入 SQLite

我知道我可以通过以下方式将 .csv 文件导入到 sqlite 数据库中的预先存在的表中:

.import filename.csv tablename
Run Code Online (Sandbox Code Playgroud)

但是,是否有这样的方法/库可以自动创建表(及其架构),这样我就不必手动定义:column1 = string, column2 = int ....etc。

或者,也许我们可以将所有内容导入为字符串。据我有限的理解,sqlite3 似乎将所有字段都视为字符串?

编辑:每列的名称在这里不是那么重要(假设我们可以从 CSV 文件的第一行获取该数据,或者它们可以是任意名称)关键是识别每列的值类型。

c database csv sqlite objective-c

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

只能有两个文本值之一的元素?

我正在构建一个有fuel_system元素的DTD .

我想限制<fuel_system>标签之间的文字.它必须只是carburetedfuel-injected.我怎样才能做到这一点?

我没有提到类似这样的东西=>属性类型(化油器,燃油喷射),因为我想在<fuel_system>标签中强制使用此规则,而不是属性fuel_system.

xml dtd

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

.NET Reflection设置私有属性

如果您有一个如下定义的属性:

private DateTime modifiedOn;
public DateTime ModifiedOn
{
    get { return modifiedOn; }
}
Run Code Online (Sandbox Code Playgroud)

如何使用Reflection将其设置为某个值?

我试过了两个:

dto.GetType().GetProperty("ModifiedOn").SetValue(dto, modifiedOn, null);
Run Code Online (Sandbox Code Playgroud)

dto.GetType().GetProperty("modifiedOn").SetValue(dto, modifiedOn, null);
Run Code Online (Sandbox Code Playgroud)

但没有任何成功.很抱歉,如果这是一个愚蠢的问题,但这是我第一次使用Reflection with C#.NET.

.net c# reflection

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

"编程集体智慧"中的皮尔逊算法有什么问题?

这个函数来自"编程集体智慧"一书,并且应该计算p1和p2的Pearson相关系数,它应该是介于-1和1之间的数字.

如果两个评论家对项目的评价非常相似,那么函数应该返回1,或接近1.

有了真实的用户数据,我有时会得到奇怪的结果.在以下示例中,数据集critics2应返回1 - 而不是返回0.

有没有人发现错误?

(这不是"编程集体智慧"中这个python函数什么问题的重复)

from __future__ import division
from math import sqrt

def sim_pearson(prefs,p1,p2):
    si={}
    for item in prefs[p1]: 
        if item in prefs[p2]: si[item]=1
    if len(si)==0: return 0
    n=len(si)
    sum1=sum([prefs[p1][it] for it in si])
    sum2=sum([prefs[p2][it] for it in si])
    sum1Sq=sum([pow(prefs[p1][it],2) for it in si])
    sum2Sq=sum([pow(prefs[p2][it],2) for it in si]) 
    pSum=sum([prefs[p1][it]*prefs[p2][it] for it in si])
    num=pSum-(sum1*sum2/n)
    den=sqrt((sum1Sq-pow(sum1,2)/n)*(sum2Sq-pow(sum2,2)/n))
    if den==0: return 0
    r=num/den
    return r

critics = {
    'user1':{
        'item1': 3,
        'item2': 5,
        'item3': 5, …
Run Code Online (Sandbox Code Playgroud)

python algorithm pearson

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

模型更改后,擦除存储在CoreData中的所有数据

我有一个从互联网上获取数据的应用程序,并使用CoreData将它们存储在设备中,以获得更流畅的体验.

因为我使用Core Data,所以每当我的架构发生变化时,当我尝试使用存储在设备上的先前数据运行它时,应用程序会崩溃.什么是检测此更改并从设备中擦除所有数据的最快方法,因为我不介意重新加载它们.它击败了崩溃并将模式重新映射到新模式(在我的例子中).

我看到这个检查是在getter中执行的:

- (NSPersistentStoreCoordinator *)persistentStoreCoordinator
Run Code Online (Sandbox Code Playgroud)

所以我只需要知道实施擦除整个数据库和重新设置核心数据的方法.谢谢 :)

iphone schema persistence core-data objective-c

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