这是网站:https://deadindustry-newnew-recruit.herokuapp.com/
下面是github: daveasdf/deadindustry_newnew_recruit
当你输入表单时,它应该呈现表单和右边的支持者列表,但实际上它在https://deadindustry-newnew-recruit.herokuapp.com/supporters.js上显示了他们的文本版本,这是一些随机的网页。
我不是开发人员,我只是一个音乐家,所以我感谢任何人和所有的帮助。另外,请查看我的乐队: soundcloud.com/whorwood
具体如下:
页面:
<div class="row">
<div class="col-md-12">
TEXT
</div>
</div>
<br>
<div class="row">
<div class="col-md-4">
<div id="home_form">
<%= render "supporters/form" %>
</div>
</div>
<div class="col-md-2">
</div>
<div class="col-md-6" id="home_list">
<br>
<%= render 'supporters/show_supporters' %>
</div>
</div>控制器:
class SupportersController < ApplicationController
...
def create
@supporter = Supporter.new(supporter_params)
@supporters = Supporter.all.order(created_at: :desc)
respond_to do |format|
format.js
end
end
...create.js
<% if @supporter.save %>
$("#home_list").html("<%= j render 'show_supporters' %>")
$("home_form").html("<%= j render 'form' %>")
<% else %>
$("#home_form").html("<%= j render 'form', supporter: @supporter %>")
$('#build_error').remove();
<% if @supporter.errors.any? %>
var build_error = "<div class='alert alert-danger' id='build_error'>";
build_error += "You've got <%= pluralize(@supporter.errors.count, 'error') %>.";
build_error += "<ul id='error_explanation'>";
<% @supporter.errors.full_messages.each do |msg| %>
<% if msg === "Ip has already been taken" %>
<% msg = "You've already posted your support. Thanks!" %>
<% end %>
build_error += "<li><%= j msg %></li>";
<% end %>
build_error += "</ul>";
build_error += "</div>";
$(build_error).insertBefore( "#home_form" );
<% end %>
<% end %>发布于 2017-02-27 16:33:11
您向表单中传递了错误的操作
<form novalidate="novalidate" class="simple_form new_supporter" id="new_supporter"
action="/supporters.js" accept-charset="UTF-8" data-remote="true" method="post">应该只使用/supporters而不是/supporter.js
您需要从此行中删除format: :js:
<%= simple_form_for(@supporter, remote: true, format: :js) do |f| %>https://stackoverflow.com/questions/42467471
复制相似问题