0
我有使用DBIx :: Class的Mojolicious應用程序。它工作正常,但現在我想在DBIx :: Class模式模塊中使用Mojolicious應用程序對象。如何在DBIx類模式中使用Mojolicious應用程序?
在模板中我使用此代碼顯示鏈接:
<a href="<%= $self->url_for('playlist', name => $playlist->name) %>">...</a>
現在我想移動產生網址爲DBIx ::類架構模塊的代碼的一部分,從而使模板我能有這樣的:
<a href="<%= $playlist->url %>">...</a>
我試圖通過建立在我的模式::結果sub url
實現這一:: Playlist.pm
sub url {
my $self = shift;
my ($app) = @_;
return $app->url_for('playlist', name => $self->name);
}
這項工作,但需要通過Mojolicious應用程序url
(前。 <%= $playlist->url($self) %>
)這不好。
是否有一種優雅的方式可以在應用程序啓動過程中一次爲所有DBIx :: Class架構模塊提供Mojolicious應用程序對象?
這是我的架構初始化在我的應用程序startup
:
my $schema = MyApp::Schema->connect(
'dbi:mysql:dbname=myapp',
'xxxx',
'xxxx',
{ mysql_enable_utf8 => 1, },
);
$self->helper(schema => sub { $schema });
爲什麼不使用存儲將數據傳遞給模板? – stevenl
'$ playlist'通過隱藏傳遞給模板 –