3

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

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

我有一个问题:我可以按预期创建和删除对象,但不能更新对象。没有返回错误,并且开发日志显示更改的参数正在正确传递。

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

4

2 回答 2

1

深入挖掘我发现 mongoid 4.0.0 仍然引用 moped 1.4.5,它官方只支持 ruby​​ 版本到 1.9.3。

github 上最新的 moped 版本是 2.0.0,它适用于 ruby​​ 2.0.0,但尚未发布到 gem 存储库。

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

于 2013-04-04T09:15:56.990 回答
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 下划线有更新。

于 2013-04-05T14:06:34.770 回答