Not*_*ist 5 renderpartial ruby-on-rails ruby-on-rails-3
Rails 3.0.7,Windows 7,NetBeans 6.9.1,JRuby 1.5.1,Ruby 1.8.7
我有app/views/browsing/index.rhtml这个相关部分,专注于render电话:
<table>
<tr>
<th><em><%=I18n.t('browsing.actions')%></em></th>
<% colnames = @_controller.model_class.column_names %>
<% colnames.each do |name| %>
<% render :partial => 'browsing/header_field', :locals => {:name => name} %>
<% end %>
</tr>
Run Code Online (Sandbox Code Playgroud)
我有app/views/browsing/_header_field.rhtml以下内容:
<% puts "DEBUG: rendering " + name + " field." %>
<% if @_controller.orderables.include?(name.to_sym) %>
<%
otext = ''
oopts = @_controller.orderings[name];
if !oopts.nil?
otext += ' ' + (oopts[:is_asc] ? '?' : '?')
otext += '<span class="small">'+oopts[:prio].to_s+'</span>'
end
%>
<th><%=link_to( name.tr('_',' '), { :controller => controller_path, :action => 'index', :o => name }, {:class => 'sort'} )%>
<%=((otext=='' || @_controller.orderings.size<=1) ? raw(otext) : link_to(raw(otext), { :controller => controller_path, :action => 'index', :o => name, :x => true }, {:class => 'delete_sort', :title => I18n.t('browsing.delete_sort')}))%></th>
<% else %>
<th><%=name.tr('_',' ')%></th>
<% end %>
Run Code Online (Sandbox Code Playgroud)
调试打印(第一行)正确执行,我可以在输出窗口中看到它.我可以使用NetBeans IDE逐行观察此文件的执行情况,它按预期发生
问题是这个渲染的结果以某种方式丢弃在窗口上,最终渲染的HTML中没有任何东西(没有表头单元格).这是(只有相关部分):
<table>
<tr>
<th><em>Actions</em></th>
</tr>
Run Code Online (Sandbox Code Playgroud)
输出窗口产生以下结果:
DEBUG: rendering id field.
DEBUG: rendering inm_device_id field.
DEBUG: rendering changes_id field.
Started GET "/changes_and_devices" for 127.0.0.1 at Wed Jun 08 11:50:01 +0200 2011
Processing by ChangesAndDevicesController#index as HTML
ChangeAndDevice Load (2.0ms) SELECT `changes_and_devices`.* FROM `changes_and_devices` ORDER BY id desc LIMIT 20 OFFSET 0
SQL (18.0ms) SELECT COUNT(*) FROM `changes_and_devices`
Rendered browsing/_header_field.rhtml (6.0ms)
Rendered browsing/_header_field.rhtml (6.0ms)
Rendered browsing/_header_field.rhtml (5.0ms)
Rendered browsing/index.rhtml within layouts/application (189.0ms)
Completed 200 OK in 245ms (Views: 207.0ms | ActiveRecord: 20.0ms)
Run Code Online (Sandbox Code Playgroud)
欢迎所有提示!提前致谢!
pdu*_*ler 15
是的,<%仅评估<%=显示评估代码的位置.
你需要
<% render :partial => 'browsing/header_field', :locals => {:name => name} %>
改为
<%= render :partial => 'browsing/header_field', :locals => {:name => name} %>
| 归档时间: |
|
| 查看次数: |
2033 次 |
| 最近记录: |