javascript - 渲染部分在控制台中不显示任何错误

标签 javascript ruby-on-rails

我正在尝试在我的页面上渲染部分内容控制台或终端日志中没有错误,情况是......用户在页面上选择一个链接,并且中间区域应该呈现。我通过 jquery 运行这个,并让提交进入我的 Controller “session”和方法“showsurvey”,它获取必要的信息,然后渲染到 showsurvey.js.erb 以用 showsurvey 部分替换 html

这里是涉及的代码....shownewuser.html.erb

        <%= include_gon %>


<div id="content" class="clearfix">
<%= render :partial => 'layouts/user_profile' %>
      <div class="inner">

        <div class="top_area">          
          </div> <!-- top_area -->               
          <p>Welcome <%=@user.email%> Drag the topics into the order of importance to you.</p>
           <div id="middle_area" > 
            <%= render :partial => 'middle_newuser' %>
      <div id="find">
         <p>Where voters and politicians can discuss and learn  about the issues for free with no advertising dollars getting in the way <br />
         Subscribe to RSS feeds to stay in touch with their latest votes. </p>
      </div>

</div>   <!-- inner_area -->

替换_middle_newuser.html.erb的原始部分

              <div id = "draggable" class="ui-widget-content">
        <h3 class="ui-widget-header">Issues</h3>
         <table>
         <tr><td>
        <ul id ="column1" >
        <% (0..5).each do |i| %>
         <% @sm_pic= @cat[i][:small_pic] 
            @CatName = @cat[i][:name] 
            @id = @cat[i][:id]%>
               <li id="draggable">
            <%= link_to image_tag(@sm_pic, :border => 0), showsurvey_path({:data => @id}), :remote => true, :data => @id , :id => 'showSurvey'  %>
          </li> 
         <% end %>  
        </ul>
          </td>
                   <td>
           <ul id ="column1"  >
           <% (6..11).each do |i| %>
           <% @sm_pic= @cat[i][:small_pic] 
            @CatName = @cat[i][:name] 
            @id = @cat[i][:id]%>
                <li id="draggable">
            <%= link_to image_tag(@sm_pic, :border => 0), showsurvey_path, :data => @id %>
                         </li>
              <% end %>
        </ul>
         </td>
           <td>
         <ul id ="column1"  >  
         <% (12..17).each do |i| %>
         <% @sm_pic= @cat[i][:small_pic] 
            @CatName = @cat[i][:name] 
            @id = @cat[i][:id]%>
               <li id="draggable">
            <%= link_to image_tag(@sm_pic, :border => 0), showsurvey_path, :data => @id %>
              </li>

         <% end %>
          </ul>
             </td></tr>
         </table>
         </div id>  <!-- draggable -->
           </div>  <!-- middle_area -->

以及应该替换此的部分 ...._middle_survey.html.erb

             <div>
         <table><tr>
           <div id="middle_area-left" >
           <p>Welcome this will be the survey page for user after clicking on a priority icon.</p>
           </div>
           <div id="middle_area-center" >
           <%= render :partial => 'form' %>
           </div>
           <div id="middle_area-right" >
           <p>Welcome this will be the survey page for user after clicking on a priority icon.</p>
           </div>
           </tr>
           </table>
           </div>

Controller 方法是showSurvey

  def showsurvey
  @title = "Survey for"
   @category = Category.find(params[:data])
       @questions = @category.questions.find_all_by_category_id(params[:data])
       @current_question_rec =  @questions.first
       @current_question = @current_question_rec.question
       @current_question_id = @current_question_rec.question_id
       @answer = @category.questions.find(@current_question_id).answers.find_by_user_id(params[:id])
   respond_to do |format|
     format.html { redirect_to @category }
         format.js { render }
 end           

结束

最后showSurvey.js.erb

$(#middle_area').replace_html( "<%= escape_javascript render :partial => "middle_survey" %> ");

还有一件事是我的终端的输出

Processing by SessionsController#showsurvey as JS
  Parameters: {"id"=>"3", "data"=>"3"}
  Category Load (0.2ms)  SELECT "categories".* FROM "categories" WHERE "categories"."id" = ? LIMIT 1  [["id", "3"]]
  Question Load (0.4ms)  SELECT "questions".* FROM "questions" WHERE "questions"."category_id" = 3 AND "questions"."category_id" = '3'
  Question Load (0.3ms)  SELECT "questions".* FROM "questions" WHERE "questions"."category_id" = 3 AND "questions"."question_id" = ? LIMIT 1  [["question_id", 1]]
  Answer Load (0.3ms)  SELECT "answers".* FROM "answers" WHERE "answers"."question_id" = 1 AND "answers"."user_id" = 3 LIMIT 1
  Rendered sessions/_form.html.erb (4.1ms)
  Rendered sessions/_middle_survey.html.erb (5.8ms)
  Rendered sessions/showsurvey.html.erb (7.6ms)
Completed 200 OK in 26ms (Views: 13.9ms | ActiveRecord: 1.1ms)

感谢您的帮助

最佳答案

$(#middle_area').replace_html( "<%= escape_javascript render :partial => "middle_survey" %> ");

看起来像是一个拼写错误,您忘记了前引号。

$('#middle_area')

另外,我不太擅长CSS,但是我看不到div #middle_area 本身,你确定jquery可以解析#middle_area-right等等?

关于javascript - 渲染部分在控制台中不显示任何错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16389567/

相关文章:

JavaScript 获取 HTML 表格对象的边框样式

javascript - Eloquent Javascript 第 5 章练习 1

ruby-on-rails - Ruby on Rails - 数组中的 Validates_inclusion_of

sql - 我应该如何处理 "forget this"功能背后的数据库逻辑?

ruby-on-rails - IRB 在尝试要求 "LoadError: cannot load such file -- nokogiri"时显示 "nokogiri"错误

javascript - jquery 在动画的开始和结束时做一些事情

javascript - 作为绑定(bind) knockout 未定义的嵌套 foreach

javascript - 在 jquery 中调用同名函数?

ruby-on-rails - 我们应该使用 Rails 路由还是 React 路由器

ruby-on-rails - 现有 Rails 项目 i18n 本地化的最佳在线服务