0

我正在尝试使用此博客文章中的代码:[Phoenix LiveView] format date/time with local time zone

我确认(用IO.inspect)他mountdefp我添加到 LiveView 的代码添加了套接字分配。但他没有给出如何format_time从 heex 模板调用函数的示例。也许这应该很明显,但对我来说并不明显。我试过这个:

          <%= if connected?(@socket) do
                Cldr.format_time(@auction.started_or_paused_at,
                                 locale: @socket.assigns.locale,
                                 timezone: @socket.assigns.timezone)
              else
                Cldr.format_time(@auction.started_or_paused_at)
              end
          %>

但我得到这个错误:

[error] GenServer #PID<0.655.0> terminating
** (KeyError) key :locale not found in: #Phoenix.LiveView.Socket.AssignsNotInSocket<>
    (ssauction_live 0.1.0) lib/ssauction_live_web/live/auction_live/show.html.heex:32: anonymous fn/2 in SSAuctionWeb.AuctionLive.Show.render/1
...

我想我在渲染时不能使用套接字分配

4

0 回答 0