每当我使用 simple_form_for() 时,它默认为“my_subclasses_path”而不是“my_base_classes_path”。我怎样才能告诉它不要使用子类?
在我的例子中,我有一个 User 对象,还有很多子类。我想使用标准用户 url,因为所有子类对这些表单都一样。
此外,我想阻止 simple_form 在子类之后命名属性。例如,如果子类是“Admin”,我希望提交的参数是“params[:user]”而不是“params[:admin]”。
我发现上面的内容真的很奇怪,因为表单实际上说的是“user[first_name]”而不是“admin[first_name]”——但 simple_form 似乎无论如何都想让它成为 params[:admin]。
基本上,子类导致 simple_for 无法正常运行。我希望有一个像
这样的选项base_class => 'User'
这将处理所有这些事情。
最佳答案
如果您按照 rafaelfranca 的建议传入 :url 选项以及 :as 选项,它应该可以正常工作。例如:
simple_form_for(@admin, :url => user_path(@admin), :as => :user)
这为我提供了正确的表单操作和参数(例如,user[name] 而不是 admin[name])。
关于html - 您如何让 simple_form 将基类用于 url 而不是子类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6091393/