gpt4 book ai didi

javascript - Rails Form_Tag Ajax Format.js ActionController::UnknownFormat

转载 作者:数据小太阳 更新时间:2023-10-29 08:45:05 24 4
gpt4 key购买 nike

我有一个用于发送电子邮件的 form_tag,我想使用 AJAX,这样只有表单可以更新,其余的看起来都一样。

contact.html.erb

<%= form_tag(site_contact_path, remote: true, class: 'response form-horizontal', authenticity_token: true) do %>
<h2 class="contact-title">Parašykite mums</h2>
<div class="form-group">
<label class="control-label col-sm-4" for="name">Vardas</label>
<div class="col-sm-8">
<%= text_field_tag 'name', nil, placeholder: 'Įveskite vardą', class: 'form-control', autocomplete: 'on' %>
</div>
</div>

<div class="form-group">
<label class="control-label col-sm-4" for="email">El. paštas</label>
<div class="col-sm-8">
<%= text_field_tag 'email', nil, placeholder: 'Įveskite el.paštą', class: 'form-control', autocomplete: 'on' %>
</div>
</div>

<div class="form-group">
<label class="control-label col-sm-4" for="comment">Komentarai</label>
<div class="col-sm-8">
<%= text_area_tag 'comment', nil, placeholder: 'Jūsų komentaras', class: 'form-control', autocomplete: 'on', rows: '6' %>
</div>
</div>
<%= hidden_field_tag :authenticity_token, form_authenticity_token %>
<div class="button-holder">
<%= submit_tag 'Siųsti', class: 'submit' %>
</div>
<div class="hidden">
<p>Ačiū! (Mes pasistenksime atsakyti Jums, kuo greičiau)</p>
</div>
<% end %>

路线.rb

post '/contact' => 'site#contact_send_email'

站点 Controller .rb

def contact_send_email
@name = params[:name]
@email = params[:email]
@comment = params[:comment]

ContactMailer.send_message(@name, @email, @comment).deliver

respond_to do |format|
format.js
end
end

contact_send_email.js.erb

$('.form-group').hide();
$('.button-holder').hide();
$('.hidden').show();

日志

 ActionController::UnknownFormat (ActionController::UnknownFormat):  app/controllers/site_controller.rb:24:in `contact_send_email'

当我按下提交按钮时,电子邮件已发送,但似乎 contact_send_email 操作由于某种原因找不到 contact_send_email.js.erb 或不理解 format.js我尝试在 StackOverflow 上搜索类似的问题,但解决方案似乎没有任何效果。

最佳答案

在您的 form_tag 中,将第一个参数 site_contact_path 更改为 contact_path。还要将路线上的行更改为:

post '/contact' => 'site#contact_send_email', defaults: { format: 'js' }

这应该可以解决您的问题。

关于javascript - Rails Form_Tag Ajax Format.js ActionController::UnknownFormat,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31095786/

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