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

时间:2013-06-27 06:58:12

标签: ruby-on-rails devise ruby-on-rails-3.2 simple-form

得到2个问题:

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

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

  3. 路线:

    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
    

    希望它很清楚。感谢。

1 个答案:

答案 0 :(得分:5)

指南中有a note。这是一个解决方法:

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