Ruby on rails 如何根据';创建于';领域

Ruby on rails 如何根据';创建于';领域,ruby-on-rails,ruby,Ruby On Rails,Ruby,无法工作的控制器代码: @mailings = Mailing.find(:all, :conditions => ["created_at.month = ?", m]) 错误消息: Mysql::Error: Unknown column 'created_at.month' in 'where clause': SELECT * FROM `mailings` WHERE (created_at.month = 10) 谢谢 试试看: @mailings = Mailing.fi

无法工作的控制器代码:

@mailings = Mailing.find(:all, :conditions => ["created_at.month = ?", m])
错误消息:

Mysql::Error: Unknown column 'created_at.month' in 'where clause': SELECT * FROM `mailings` WHERE (created_at.month = 10)
谢谢

试试看:

@mailings = Mailing.find(:all, :conditions => ["MONTH(created_at) = ?", m])
假设您使用的是MySQL,您可以在文档中找到更多信息:

试试:

@mailings = Mailing.find(:all, :conditions => ["MONTH(created_at) = ?", m])

假设您使用的是MySQL,您可以在文档中找到更多信息:

查找的
:conditions
参数直接插入到结果SQL中。因此,您可以使用SQL命令

如果您使用的是MySQL,可以尝试以下操作:

@mailings = Mailing.find(:all, :conditions => ["MONTH(created_at) = ?", m])
或者,对于SQLite:

@mailings = Mailing.find(:all, :conditions => ["strftime('%m', created_at) = ?", m])

find
:conditions
参数直接插入到结果SQL中。因此,您可以使用SQL命令

如果您使用的是MySQL,可以尝试以下操作:

@mailings = Mailing.find(:all, :conditions => ["MONTH(created_at) = ?", m])
或者,对于SQLite:

@mailings = Mailing.find(:all, :conditions => ["strftime('%m', created_at) = ?", m])