gpt4 book ai didi

javascript - Rails JQuery 和 Ajax 无法正常工作?

转载 作者:行者123 更新时间:2023-12-03 07:16:44 24 4
gpt4 key购买 nike

所以我本质上是一个业务模型的显示页面,它显示了业务的相应信息。我所做的是创建一个编辑按钮,该按钮基本上显示各个字段的表单并隐藏实际信息。然而,我现在遇到的问题是,当我进行编辑并提交表单时,信息没有“刷新”,我必须手动刷新页面才能看到更改。我对此仍然很陌生,事实上我最近才开始使用 Rails,很想知道我做错了什么。我正在关注一个解释 Jquery 和 Ajax 的 YouTube 视频,但我做了一些更改,尝试让它根据我的需要工作。

显示 View 页面

<%= form_for(@business, remote: true) do |f| %>
//.... omited for clarity

<div id="business-info-section">
<h4><%= @business.name %></h4>
<p><%= @business.description %></p>
</div>

<!-- This will display only when the edit button is clicked (SHOW THE BUIZ FORM FIELD) -->
<div id="business-info-section-edit">

<div class="field">
<%= f.text_field :name, class:"form-control" %>
</div>
<div class="field">
<%= f.label :description %><br>
<%= f.text_area :description , class:"form-control" %>
</div>

</div>
</div>
</div>

<div class="col-md-9">
<!-- show option only if curr user == show profile user -->
<%= image_tag @business.header_img.url(:large), class:"center-block", id:"header_img" %>

<div class="row edit-btns">
<div class="col-md-12">
<!-- this is the edit profile button that toggles jQuery methods -->
<%= link_to 'Edit Profile', "#", class: "btn btn-primary pull-right", id: "edit-profile-btn" %>
<%= f.submit 'Save Profile', class: "btn btn-primary pull-right", id: "save-profile-btn" %>
</div>
</div>

业务总监

  def update
if @business.update(business_params)
respond_to do |format|
format.html { redirect_to @business, notice: 'Business was successfully updated.' }
format.js #render businesses/update.js.erb
end
else
render :edit
end
end

businesses/update.js.erb 文件

$('#business-info-section').append('<%= j render user_profile_path(@business.user_id, @business.user.email) %>');

最佳答案

更改表单的这一部分 -

<div id="business-info-section">
<h4><%= @business.name %></h4>
<p><%= @business.description %></p>
</div>

到此-

  1. 创建部分内容:_business_detail.html.erb

    <h4><%= @business.name %></h4>
    <p><%= @business.description %></p>
  2. 现在以表单呈现上述部分 -

    <div id="business-info-section">
    <%= render 'business_detail'%>
    </div>

将您的businesses/update.js.erb 文件更新为此 -

$('#business-info-section').html('<%= j render 'business_detail' %>');

关于javascript - Rails JQuery 和 Ajax 无法正常工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36395930/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com