render partial在控制台中不显示任何错误
render partial does not display no errors in console
我正在尝试在我的页面上呈现一个分部。控制台或终端日志中没有错误,场景是。。。用户选择页面上的链接,并且中间区域应该呈现。我通过jquery运行它,并让提交进入我的控制器"会话"和方法"showsurvey",它获得必要的信息,然后渲染到showsurvey.js.erb,用showsurveypartial 替换html
这是涉及的代码。。。。显示newuser.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>
控制器方法为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
end
最后一次显示Survey.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 "answerswers".* FROM "answerswers" WHERE "answerswers"."question_id" = 1 AND "answerswers"."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
等等吗?
发现了这个问题,所有精彩的jquery返回(如"replace_html"等(都不起作用,因为当你从控制器渲染js时,它认为它是普通的旧js,因此它返回到原型对象(隐藏在jquery中(。我实际上是通过阅读另一个stackoverflow问题来发现这一点的"用jquery rails替换原型-replace_html导致错误">
最重要的是,您确实需要在线调试并遍历jquery,以查看错误是在哪里产生的:
就我而言,它存在于jquery称为ajaxConvert(s,response(
一旦我在控制台中输入对象
conv( response ) it displayed the following .....
TypeError:Object[Object Object]在呈现轨道上没有方法"replace_html"通过搜索,我找到了stackoverflow问题的答案。再一次被火洗礼!
- D3.js生成有效的SVG,但不显示任何内容
- HTML 5 和 3.js 代码不会在网页上显示任何内容
- jquery Ajax没有;不要显示任何信息(既不显示成功也不显示失败)
- javascript函数,该函数不起作用,但不会显示任何错误
- JavaScript 未显示任何警报对话框
- 谷歌地图没有显示任何标记
- 没有使用Highcharts显示任何图形
- jQuery导航下拉菜单未显示..任何想法
- AngularJS:console.log不显示任何内容
- ng-repeat不显示任何内容
- ng-重复不显示任何内容
- extjs在chrome中可以正常工作;不要在firefox或ie中显示任何内容
- 使用javascript在标签上不显示任何内容
- console.log在FF插件生成器中没有显示任何内容
- TypeAhead.js没有显示任何输出Rails
- 使用ajax运行php脚本不会显示任何结果
- 我的Javascript项目正在访问网络摄像头,但没有显示任何内容
- 日期-时间范围指令字段未显示任何值
- owl.carousel help-没有显示任何东西
- PhoneGap-Javascript没有显示任何响应