当我提交表单时,如果有错误(显示视图上的更改集错误),我想在同一页面上重定向。
但实际上我的网页来自一个" 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 %>