轨道应用程序。设计视图中的多个表单

Posted

技术标签:

【中文标题】轨道应用程序。设计视图中的多个表单【英文标题】:Rails app. Multiple forms in devise view 【发布时间】:2013-04-16 09:14:41 【问题描述】:

目前视图/设计/注册/编辑有一种更改密码的形式。我希望它有多种形式,比如一种用于更改密码,一种用于更改用户名……等等。

我尝试添加另一个表单,但是当我尝试提交时,名称表单告诉我应该输入当前密码。 (这是另一个表单的字段)如何隔离表单? 这就是表单的创建方式:

    <div class="center">
      <div class="devise-controller">
        <%= form_for(resource, :as => resource_name,
                               :url => registration_path(resource_name),
                               :html =>  :method => :put ) do |f| %>
          # some fields here...
          <%= f.submit "Update" %>
        <%end%>
      </div>
    </div>

【问题讨论】:

Devise 已经为每个视图创建了单独的视图。您可以简单地覆盖这些视图。要实现您想要的,您也需要覆盖设备的控制器 您可能不需要多个表单,您可以将资源的字段添加到现有表单中,以便用户可以在一个地方更改他们的姓名/电子邮件/喜欢的颜色。 谢谢各位。马特,你是对的。我可以简单地向现有表单添加新字段。有趣的是,我经常看不到简单的方法并尝试过度设计。 :) 【参考方案1】:

您好,请参阅以下链接以创建多表单:

http://railscasts.com/episodes/217-multistep-forms

http://railscasts.com/episodes/346-wizard-forms-with-wicked?view=comments

【讨论】:

以上是关于轨道应用程序。设计视图中的多个表单的主要内容,如果未能解决你的问题,请参考以下文章

尝试将表单添加到 DetailView

如何为 LOB 应用程序中的多个视图设计 REST API

拥有并属于许多轨道 4

具有多个连接/提要/视图的 XML 解析的设计/实施建议

一个 Django 视图和 url,多个应用程序

django 通用(类)视图中的多个表单类