【问题标题】:Submit same form from different pages从不同页面提交相同的表单
【发布时间】:2014-02-19 22:20:05
【问题描述】:

我使用 Rails 4 开发了一个新项目。
在这个项目中有一个注册表单,它应该位于不同的地方。

无论它的位置如何,表单动作都会转到相同的控制器和动作。如果一切正常,用户将被重定向到其帐户设置页面。否则错误将出现在用户尝试注册的同一位置。

我想知道实现我想要的最佳实践是什么。我不想用ajax,就用Rails的内置机制。

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-4


    【解决方案1】:

    您的注册表单应该是部分的(即 signup/_form.html.erb)。然后,您可以在任何其他视图中呈现它:

    如果视图位于同一位置: <%= render partial: 'form' %>

    如果视图位于其他位置: <%= render partial: 'other_location/form' %>

    【讨论】:

    • 问题是如何处理回发到不同页面的错误。我能想到的两个方面:(1)根据表单呈现的位置重定向到不同的页面;(2)为每个动作创建必要的变量
    • 最简单的方法就是重定向回请求页面(如前所未见)并包含一个 flash 错误以供显示。这是一篇概述这个+其他一些用例的帖子:stackoverflow.com/questions/771656/…
    【解决方案2】:

    例如在 authentication 文件夹下创建一个 partial _form.html.erb,然后你可以在任何其他视图中渲染这个 partial:<%= render partial: 'form' %> or <%= render partial: 'other_folder/form' %>

    【讨论】:

    • 这很明显。问题是如何处理回发。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-09-14
    • 1970-01-01
    • 2023-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多