10

私はまだ mojolicious と MVC フレームワークを一般的に学んでいるので、これは私がこれについて間違っていると考えている問題かもしれません。

/route/:param というルートがあり、param が定義されている場合と定義されていない場合があります。そのルートのテンプレートで「param」を使用しようとしていますが、「param」には明示的なパッケージ名が必要であるというエラーが表示されます。/route/value を呼び出すとすべて正常に動作するため、これはルートで :param が一致しないことが原因であることを知っています。

「param」が定義されている場合と定義されていない場合の両方に同じテンプレートを使用できる方法はありますか? 「param」で定義されているものからフォームを事前に入力しようとしていますが、必須にはしていません。

私が持っているテンプレートでは

<% if(defined($param)){ %><%= $param %><% } %>

ありがとう。

4

3 に答える 3

20

は常に安全に参照できますstash("param")。ここで、stashは で定義されているヘルパー関数ですMojolicious::Plugin::DefaultHelpers

<%= stash "param" %>
<%= defined(stash("param")) && stash("param") %>
etc.
于 2013-06-05T15:12:47.273 に答える