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

HM1*_*HM1 0 ruby-on-rails devise simple-form ruby-on-rails-3.2

有两个问题:

  1. 如何让simple_form_for与奇异资源一起使用:与用户相关联的foo_object(参见下面的代码摘录)?我得到NoMethodError:未定义的方法foo_objects_path@foosimple_form_for行.foo_object_path有一个有效的路径,但似乎simple_form_for是使用复数版本.我已经google'd并阅读有关奇异资源和路径问题的SO帖子,但还没有找到解决方案.

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

路线:

devise_for :users  
resource :foo_object
Run Code Online (Sandbox Code Playgroud)

模型:

:user is the Devise User's model and has_one :foo_object  
:foo_object belongs_to :user
Run Code Online (Sandbox Code Playgroud)

查看(haml):(更新6/27/13:更正为=来自 - )

= simple_form_for @foo do |f|
    = f.input :firstname
    = f.input :lastname
    = f.button :submit
Run Code Online (Sandbox Code Playgroud)

希望很清楚.谢谢.

Vas*_*ich 5

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

= simple_form_for @foo, url: foo_object_path do |f|
    = f.input :firstname
    = f.input :lastname
    = f.button :submit
Run Code Online (Sandbox Code Playgroud)