Rails3 + Devise + Simple_form:路径助手中的奇异资源和simple_form_for错误
有两个问题:
-
如何让simple_form_for使用单一资源:与用户相关联的foo_object(参见下面的代码摘录)? 我得到NoMethodError:
simple_form_for
行中@foo的未定义方法foo_objects_path
。foo_object_path
有一个有效的路径,但似乎simple_form_for
使用复数版本。 我已经google’d并阅读有关单一资源和路径问题的SOpost,但还没有找到解决方案。 -
我是否需要为: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