【发布时间】:2015-05-06 18:24:14
【问题描述】:
我正在向视图发送用户详细信息:
$transformed = new User;
$transformed->firstname = $user->firstname;
$transformed->lastname = $user->lastname;
$transformed->email = $user->email;
return View::make('account.settings', ['user' => $transformed]);
如果我在View::make 之前输入dd($transformed),那么我会看到一个完整的电子邮件地址,但模板会切断“@”和之前的所有内容:
Should be: parent@parent.com
Is: parent.com
在刀片模板中,我有:
{{ $user->email }}
为什么会中断开始?
这是完整的视图文件:
@extends('account')
@section('content')
<section class="site-section site-content account-section">
<div class="container">
<h1 class="account-header">Account Settings</h1>
<div class="row">
<div class="col-xs-12 col-md-6">
<form role="form" method="POST" action="/auth/register" class="form-horizontal" autocomplete="off">
<input type="hidden" name="_token" value="{{ csrf_token() }}">
<h3>Basic Details</h3>
<div class="form-group">
<div class="col-xs-12">
<label for="register-email">Email address</label>
<input id="register-email" type="text" name="email" class="form-control" autocomplete="off" value="{{ $user->email }}">
</div>
</div>
<div class="form-group">
<div class="col-xs-12">
<label for="register-firstname">First Name</label>
<input id="register-firstname" type="text" name="firstname" class="form-control" autocomplete="off" value="{{ $user->firstname }}">
</div>
</div>
<div class="form-group">
<div class="col-xs-12">
<label for="register-lastname">Last Name</label>
<input id="register-lastname" type="text" name="lastname" class="form-control" autocomplete="off" value="{{ $user->lastname }}">
</div>
</div>
<div class="form-group form-actions">
<div class="col-xs-12">
<button type="submit" class="btn btn-block btn-effect-ripple btn-lg btn-success"><i class="fa fa-plus"></i> Update Details</button>
</div>
</div>
<h3>
</h3>
</form>
</div>
</div>
<!-- END row -->
</div>
</section>
@stop
【问题讨论】:
-
我刚刚创建了一个以对象为变量的简单视图,并为其分配了一封电子邮件,然后在视图中打印了结果,一切正常。下面的答案对我来说是不正确的,因为 Laravel 不会将 {{}} 之间的内容作为 Blade 本身来处理。在视图本身中尝试
{{dd($user)}}并检查输出是什么。 -
这样做,我得到
object(User)和["email"]=> string(17) "parent@parent.com" -
您能否发布您的完整视图文件。您是否还可以检查生成的 HTML 页面的 来源 - 电子邮件是否丢失,或者只是隐藏了其中的一部分?
-
我在之前的评论中已经提到过。如果您不使用诸如
@parent、@extend等 Blade 关键字,则每封电子邮件都可以使用。如果您使用主模板(布局或只是不扩展任何模板的模板),则带有 parent@parent.com 的示例也可以正常工作布局),因为没有可以参考的父文件。所以这肯定是某种错误,没有别的。 -
我可以确认这个错误目前也在 Laravel 5 中。我现在会在它上面打开一个 Github 问题