我有一个使用Mongoid的rails 4 app.我想做一些基本的事情是根据索引视图中的字段created_at以降序显示我拥有的书模型.在控制器books_controller.rb中:
def index
@books = Book.order_by(:created_at.desc)
end
Run Code Online (Sandbox Code Playgroud)
这不起作用.我还尝试了以下2个不起作用:
@books = Book.find :all, :order => "created_at DESC"
Book.find(:all, :order => "created_at DESC").each do |item|
@books << item
end
Run Code Online (Sandbox Code Playgroud)
在视图中我有这样的事情:
<% @books.each do |b| %>
...
<% end %>
Run Code Online (Sandbox Code Playgroud)
谢谢.
我使用的是ubuntu 15.04和chrome.当我点击任何带有mailto协议的html链接时,例如
<a href="mailto:myemail@example.com">Click to send me email!</a>
Run Code Online (Sandbox Code Playgroud)
它打开我的默认电子邮件应用程序(thunderbird),但用错误的地址填充地址字段.它预先添加///到电子邮件地址.因此,在上述情况下,收件人将看起来像这样
///myemail@example.com
Run Code Online (Sandbox Code Playgroud)
代替
myemail@example.com
Run Code Online (Sandbox Code Playgroud)
同样的问题是skype网址.即
<a href="skype:myusername?chat">Click to chat with me!</a>
Run Code Online (Sandbox Code Playgroud)
它将通过预先斜杠(/)与电子邮件地址相同的方式打开错误用户的Skype窗口.
在这方面的任何帮助将不胜感激.
我最近将我的ubuntu从14.10升级到了15.04.所有功能似乎都工作正常,除了MongoDB.我使用Mongoid gem在rails应用程序上使用带有ruby的mongoDB.MongoDB不能像我们在ubuntu中那样通过服务进行控制.
sudo service mongodb start
Run Code Online (Sandbox Code Playgroud)
要么
sudo service mongod start
Run Code Online (Sandbox Code Playgroud)
我收到此错误消息
无法重启mongod.service:单元mongod.service无法加载:没有这样的文件或目录.
但每次我必须使用我的应用程序连接到MongoDB服务器时,我必须手动启动它
sudo mongod -f /etc/mongod.conf
Run Code Online (Sandbox Code Playgroud)
所以mongodb,只要该终端被打开连接.我正在使用MongoDBRuby on Rails应用程序Mongoid adapater/ORM.
当我跑
sudo service mongodb status
Run Code Online (Sandbox Code Playgroud)
我得到以下输出
mongodb.service - An object/document-oriented database
Loaded: loaded (/lib/systemd/system/mongodb.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since ??? 2015-05-06 14:47:53 PKT; 5s ago
Docs: man:mongod(1)
Process: 28602 ExecStart=/usr/bin/mongod --config /etc/mongodb.conf (code=exited, status=4)
Main PID: 28602 (code=exited, status=4)
??? 06 14:47:53 NX00443 systemd[1]: Started An …Run Code Online (Sandbox Code Playgroud) 我正在使用带有mongoid(4.0.0 alpha1)的rails 4.问题是,当我尝试使用控制器获取记录时
Model.where(:status => 'Active')
Run Code Online (Sandbox Code Playgroud)
这需要太长时间(大约10秒).当我尝试在控制台中查询记录时,问题也一样.Collection有近400多条记录.
但是在mongodb控制台中获取记录
db.collection.find({status: "Active"})
Run Code Online (Sandbox Code Playgroud)
很快
mongoid 4.0.0.alpha1有什么问题吗?有任何建议如何改善rails中的查询响应时间?
提前致谢