2012-08-28 51 views
0

查看: -獲取模板::錯誤(未定義的方法 '各')爲無:無類

<% @dating_advices.each do |da| %> 
    <% if da['is-displayed'][0]['content'] == 'true' %> 
    <div class="dating_advice"> 
     <h4><%= da['title'][0] %></h4> 
     <p><b><%= da['author'][0] %></b></p> 
     <p><%= da['content'] %></p> 
    </div> 
    <hr> 
    <% end %> 
<% end %> 

控制器: -

def dating_advices 
@current_menu = "MatchMasters" 
logger.debug "*** Current site id: #{@current_site.id}" 
#@hide_quick_search = true 

@passed_args = { 
    'event_action' => 'ws', 
    'site_id' => @current_site.site_id 
} 
result = call_dating_advices_ws(@passed_args) 
if result && result['errorcode'][0] == 'success' 
    @dating_advices = result['payload'][0]['payload'] 
end 
end 

現在,當我點擊約會建議在我的網頁它會給出一個錯誤「獲取模板::錯誤(每個'未定義方法')爲零:NIL類」

回答

0

您可能沒有得到任何@dating_advices - 這意味着您要調用每個實例var不存在。

如果沒有定義結果變量,那麼寫入控制器的方式,@dating_advices永遠不會定義。

您可以使用@dataing_advices = [](或散列 - 任何帶有.each方法的東西)快速打補丁,並找出控制器失敗的原因。

你可以做類似

if result && result['errorcode'][0] == 'success' 
    ... your dating advice code 
else 
    raise result 
    (or @dating_advice = {}) 
end 

基本上你需要始終定義@dating_advice或者你需要處理沒有在您的視圖定義的值。

相關問題