2011-06-08 20 views
5

रेल 3.0.7, विंडोज 7, NetBeans 6.9.1, JRuby 1.5.1, रूबी 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> 

और मैं निम्नलिखित सामग्री के साथ 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 %> 

डिबग प्रिंट (पहली पंक्ति) ठीक से क्रियान्वित किया जाता है, मैं उत्पादन विंडो में देख सकते हैं। मैं इस फ़ाइल लाइन के निष्पादन को देखने के लिए नेटबीन आईडीई का उपयोग कर सकता हूं, ऐसा लगता है कि

समस्या यह है कि इस प्रतिपादन के परिणाम खिड़की पर किसी भी तरह से बाहर निकले हैं, कुछ भी नहीं है (कोई सारणी नहीं है हेडर सेल) अंतिम प्रस्तुत एचटीएमएल में। यही कारण है कि प्रदान की गई है (केवल प्रासंगिक भाग):

<table> 
    <tr> 
    <th><em>Actions</em></th> 
    </tr> 

उत्पादन खिड़की यह पैदा करता है:

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) 

सभी संकेत स्वागत कर रहे हैं! अग्रिम में धन्यवाद!

उत्तर

15

हाँ, <% केवल मूल्यांकन करता है कि <%= मूल्यांकन कोड भी प्रदर्शित करता है।

आप
<%= render :partial => 'browsing/header_field', :locals => {:name => name} %>

+0

हे भगवान ... यही कारण है कि दर्द होता है करने के लिए
<% render :partial => 'browsing/header_field', :locals => {:name => name} %> बदलने की जरूरत है। धन्यवाद! – Notinlist

+1

कभी दिमाग नहीं ;-) आपका स्वागत है। – pduersteler

संबंधित मुद्दे