Rails 4.0.0.beta 1和Mongoid

时间:2013-04-03 16:51:36

标签: ruby-on-rails mongoid ruby-on-rails-4

我只是尝试使用Mongodb和最新的rails设置。

我正在使用Rails 4.0.0.beta 1,Ruby 2.0.0p0和mongoid 4.0.0。

我遇到了问题:我可以按预期创建和删除对象,但无法更新对象。不返回任何错误,开发日志显示正确传递更改的参数。

还有其他人遇到过这个问题吗?

2 个答案:

答案 0 :(得分:1)

深入挖掘我看到mongoid 4.0.0仍在引用轻量级1.4.5,官方只支持高达1.9.3的ruby版本。

最新版本的moped on github是2.0.0,它与ruby 2.0.0一起使用,但尚未发布到gem存储库。

看起来我可能需要等待一段时间来尝试这种组合。

答案 1 :(得分:1)

我已经能够执行CRUD操作 - 但是现在我的控制器(仅用于测试/尖峰)我通过strong_parameters允许所有参数。

在我的Gemfile中我得到了:

gem 'mongoid' , git: 'https://github.com/mongoid/mongoid.git'

在控制器中我:

params.require(:foo).permit! # allows everything, and bad security!!!

请参阅此railscast:(http://railscasts.com/episodes/400-what-s-new-in-rails-4) 或代码:(https://github.com/railscasts/400-what-s-new-in-rails-4

使用strong_parameters查看有关更改的控制器代码,因为我认为这是让您在更新时无声失败的原因:)

在我的一个模型上有一些非常深的has_many:foo,和foo has_many:bar和bar has_many:baz,我对每个都有accept_nested_attributes_for。

所以只是说你可能想要尝试更多一些事情,或者在你尝试的时候和我去过的时候都会对mongoid的下划线进行更新。