2014-12-08 58 views
2

我遇到了Mojolicious和隱藏問題,我想我可能只是不理解它的工作方式? 我有一個包含2個組合框的頁面,當第一個條目更改時,我希望更新第二個條目中的選項。爲什麼我的數據沒有被添加到存儲在mojolicious?

因此,我添加了一個像下面這樣的事件處理程序,然後調用我的控制器子例程'devicecommandset',然後將一個DBIx查詢的結果放入我添加到我的存儲區的散列數組中。

我然後只是渲染一些良性文本。我的子程序被調用,'@commandsets'中有預期的內容。但是,我無法在瀏覽器控制檯中看到它(我正在以調試模式運行)。

我需要實際修改DOM來進行填充藏匿?基本上我只是試圖從我的請求中獲取數據來填充組合框選項。

在我的模板

$(document).ready(function() { 

$('select:not([name*="command"])').live('change', function (e) { 
    $.get('devicecommandset', { device: $(this).attr("value") }, 
      function (data) { 
       alert("Made it this far"); 
      }); 
     });   
}); 

在我的控制器

sub devicecommandset { 
    my $self = shift; 
    my $device = $self->param('device') || ''; 
    my @commandsets = $self->db->resultset('CommandSet')->search_commandsets_by_devicename($device); 
    $self->stash(commandsets => \@commandsets); 
    print Dumper(@commandsets); 
    $self->render(text => 'success'); 
} 

回答

2

你打印翻斗車到日誌基本,而不是瀏覽器。您的存儲不用於渲染,因爲您沒有引用它。使用內聯渲染類型和「自卸車」助手。 Try:

$self->stash(commandsets => \@commandsets); 
$self->render(inline => '<%= dumper $commandsets %>'); 
相關問題