首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >heroku js.erb文件输出它应该呈现为文本的表单

heroku js.erb文件输出它应该呈现为文本的表单
EN

Stack Overflow用户
提问于 2017-02-26 18:44:25
回答 1查看 70关注 0票数 0

这是网站:https://deadindustry-newnew-recruit.herokuapp.com/

下面是github: daveasdf/deadindustry_newnew_recruit

当你输入表单时,它应该呈现表单和右边的支持者列表,但实际上它在https://deadindustry-newnew-recruit.herokuapp.com/supporters.js上显示了他们的文本版本,这是一些随机的网页。

我不是开发人员,我只是一个音乐家,所以我感谢任何人和所有的帮助。另外,请查看我的乐队: soundcloud.com/whorwood

具体如下:

页面:

代码语言:javascript
复制
<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>

控制器:

代码语言:javascript
复制
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

代码语言:javascript
复制
<% 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 %>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-02-27 16:33:11

您向表单中传递了错误的操作

代码语言:javascript
复制
<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

代码语言:javascript
复制
<%= simple_form_for(@supporter, remote: true, format: :js) do |f| %>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42467471

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档