【发布时间】:2021-08-15 12:25:24
【问题描述】:
大家好!
我正在使用 rails 并且在我希望用户执行的步骤中(在同一页面上):
-
输入他的地址 Filling the form
-
提交表格 Click to submit
-
更新视图以显示地址 The view updated
我应该使用 Stimulis 还是 Ajax?我不太明白哪个更有用! 因为我尝试使用简单的 JS,但它不是 DRY 也不是很简单:
// file.js
document.querySelector(".form").addEventListener('submit', function () {
adress_form = document.querySelector(".adress_form");
adress_form.style.display="none";
document.location.reload();
display_adress = document.querySelector(".display_adress");
display_adress.style.display = "block";
});
#file.html.erb
<div class="display_adress">
<% if current_user.line1? && current_user.postal_code? && current_user.city? %>
<p>Mon adresse actuel : <%= current_user.line1 %>, <%= current_user.city %> <%= current_user.postal_code %></p>
<% end %>
</div>
<div class="address_form">
<%= simple_form_for(current_user, remote: true, html: { id: "addddd"}) do |f| %>
<%= f.input :line1, label: 'Mon adresse' %>
<%= f.input :city, label: 'Ville' %>
<%= f.input :postal_code, label: 'Code Postal' %>
<%= f.submit %>
<% end %>
</div>
要恢复,我希望用户在表单上输入他的地址、提交、更新我的数据库并使用用户提交的新地址更新视图
感谢您的帮助!
【问题讨论】:
标签: javascript ruby-on-rails ajax stimulusjs