此:
User.where 'id < ?', 5
失败并显示以下消息:
NoMethodError: undefined method `join' for #<Class:0x007fa4c9b5a598>
当我尝试:
User.where 'id < 5'
它有效。
在另一个项目中:
User.where 'id < ?', 5
作品。
哪里可能是我的问题?
我可以解决问题但是评论一个宝石:
# gem 'cancan'
然后当我运行控制台时,我得到:
load error: ~/.irbrc
NameError: uninitialized constant ApplicationController::CanCan
我的简单查询有效。
然后我评论CanCan部分应用程序控制器和控制台启动没有问题,但是当我尝试我的简单查询时它失败并出现相同的错误。
在join
中搜索~/.irbrc
,我得到了几个结果。但我不确定我在做什么。
哪里可能是我的问题?
答案 0 :(得分:2)
不是你的问题的答案,但我个人尝试在我的代码中使用尽可能简单的SQL。
查看squeel gem,这将有助于此,特别是这种查询。 https://github.com/ernie/squeel
答案 1 :(得分:0)
我在~/.irbrc
203 # instead of User.find(...) you can do user(...)
204 # without arguments it only returns the model class
205 # based on http://www.clarkware.com/blog/2007/09/03/console-shortcut
206 # Dir.glob( File.join(Dir.pwd, *%w<app models ** *.rb>) ).map { |file_name|
207 # table_name = File.basename(file_name).split('.')[0..-2].join
我对所有块进行了评论,现在它可以工作了。好吧,我复制了那个文件而从来没有理解过它。