ruby-on-rails - Rails Ajaxified 表单不会呈现错误
问题描述
我正在尝试在 Rails Ajaxified 表单上实现简单的唯一性验证。不幸的是,当验证不被接受时,我的验证错误不会被打印出来。你能帮我弄清楚为什么吗?
模型.rb
class WaitingList < ApplicationRecord
validates :email, uniqueness: true
end
控制器.rb
def create_concours
@email = params[:email]
@waiting_user = WaitingList.new(email: @email, source: params[:source], concours_city: params[:choosen_city])
#First Ajax of Weekendr History snif
respond_to do |format|
if @waiting_user.save
UserMailer.welcome(@email).deliver_now
format.html { redirect_to concours_path }
format.js
else
format.html
format.js
end
end
end
_form.html.erb
<%= form_tag concours_path, {id: 'concours-form', remote: true} do %>
<%= text_field_tag :email,
value = nil,
class: "landing-form-input",
autocomplete: "off",
required: true,
pattern: '[^@]+@[^@]+\.[a-zA-Z]{2,6}',
placeholder: "Renseignez ton email ici"
%>
<i class="fa fa-envelope"></i>
<%= hidden_field_tag :choosen_city, '', id: 'c-choosen-city'%>
<%= hidden_field_tag 'source', params[:source] %>
<%= button_tag :submit, class: "landing-form-button" do %>
Je tente ma chance !
<% end %>
<% end %>
create_concours.js.erb
function refreshForm(innerHTML) {
const form = document.getElementById("concours-form");
form.innerHTML = innerHTML;
}
<% if @waiting_user.errors.any? %>
refreshForm('<%= j render "form" %>');
<% end %>
解决方案
推荐阅读
- r - 我如何知道 R 中的函数或操作是矢量化的?
- c# - IMEX 1 的 OleDBConnection 忽略时间值中的 AM / PM
- python - 未使用的字节应该在左边还是右边
- android - 使用 Chaquopy 将 Python 中的 PyObject 转换为 Android 中的二维数组
- typescript - 为什么 TypeScript 的 IterableIterator<> 和 Generator<> 泛型略有不同?
- pytorch - pytorch 中嵌入的加权求和
- c++ - 仅调用某些模板类成员函数有效
- blazor - 在 Blazor 服务器端使用 CancellationTokenSource 实现去抖动
- reactjs - React-Select:保持编辑模式() 选择后(输入)
- autodesk-forge - 场景更新()与无效()