Phoenix框架:在控制器之间传递变更集错误

时间:2018-05-21 16:36:03

标签: redirect parameter-passing phoenix-framework

当我提交表单时,如果有错误(显示视图上的更改集错误),我想在同一页面上重定向。

但实际上我的网页来自一个" LandingController"并且验证是在" UserController"

上完成的

如果我使用"重定向"我不知道如何从" UserController"中传递变更集错误。到" LandingController"。

如果我使用" public class AppJaxb2RootElementHttpMessageConverter extends Jaxb2RootElementHttpMessageConverter { private Utils utils = new Utils(); @Override protected void writeToResult(Object responseObject, HttpHeaders headers, Result result) throws IOException { VersionConversion versionConversion = AnnotationUtils.findAnnotation(responseObject.getClass(), VersionConversion.class); ... "这意味着我的网页至少存在两次:一个是作为" LandinController"和一个作为" userController"。

的视图

我想我可以做第二个解决方案,但这意味着当有表格时会有重复的sereval页面。

还有其他解决方案吗?什么是最直接的方式?

实际上我的代码看起来像这样:

[从LandingController查看]

render/3

[我的UserController的一部分]

<%= form_for @changeset, user_path(@conn, :create), [class: "formulaire"], fn f -> %>
   <%= select f, :genders, Enum.map(@genders, &{&1.name, &1.id}), prompt: "Sexe"%>

   <%= email_input f, :email %>
   <%= error_tag f, :email %>

   <%= text_input f, :lastname %>
   <%= error_tag f, :lastname %>

   <%= text_input f, :firstname %>
   <%= error_tag f, :firstname %>

   <%= hidden_input f, :redirect_to, value: @conn.request_path %>

   <%= submit "Submit" %>
 <% end %>

0 个答案:

没有答案