我正在尝试在页面加载时启动变量showName。当我使用angular只使用angular时它工作得很好但是当我使用rails(带有嵌入的ruby标签)实现它时,我无法隐藏文本字段并保存按钮,因为我的变量未定义。我尝试了几种方式,结果没有结果。
这是我的代码。任何帮助都非常感谢。感谢。
Edit.html.erb:
<div class="row" ng-controller="EditUserCtrl">
<div class="col-md-6 col-md-offset-3" id="editForm">
<%= form_for(@user) do |f| %>
<h1 id="editHeader">Account Information </h1>
<%= render 'shared/error_messages' %>
<div class="form-group">
<%= f.label :name, "Full Name:" %><br>
<div class="row">
<div class="col-sm-7">
<div ng-hide="showName">
<%= f.label :name, @user.name , id:"editFields" %>
</div>
<%= f.text_field :name, { :'ng-show' => 'showName'}%>
</div>
<div class="col-sm-5" ng-show="showName">
<%= f.button "Save", :action => "update_name" , :method => :put, class: "btn btn-primary", :'ng-click' => "clicked()", id:"editAccount" %>
</div>
<div class="col-sm-5" ng-hide="showName">
<a href="" ng-click="editName()" ng-hide="showName"> <i id="nav-cart-count" class="glyphicon glyphicon-edit"></i> Edit </a>
</div>
</div>
</div>
<% end %>
</div>
答案 0 :(得分:0)
使用ng-init初始化变量
<div class="row" ng-controller="EditUserCtrl" ng-init="showName = true">