Rails3 + Devise + Simple_form:路径助手中的奇异资源和simple_form_for错误

有两个问题:

  1. 如何让simple_form_for使用单一资源:与用户相关联的foo_object(参见下面的代码摘录)? 我得到NoM​​ethodError: simple_form_for行中@foo的未定义方法foo_objects_pathfoo_object_path有一个有效的路径,但似乎simple_form_for使用复数版本。 我已经google’d并阅读有关单一资源和路径问题的SOpost,但还没有找到解决方案。

  2. 我是否需要为:foo_object创建嵌套资源,因为它与:user相关联? 如果是,那么它会与Devise的用户模型冲突吗?

路线:

 devise_for :users resource :foo_object 

模型:

 :user is the Devise User's model and has_one :foo_object :foo_object belongs_to :user 

查看(haml):(更新6/27/13:更正为=从 – )

 = simple_form_for @foo do |f| = f.input :firstname = f.input :lastname = f.button :submit 

希望很清楚。 谢谢。

指南中有关于此的说明。 这是一个解决方法:

 = simple_form_for @foo, url: foo_object_path do |f| = f.input :firstname = f.input :lastname = f.button :submit