Я пытаюсь инициировать переменную showName при загрузке страницы. Он работал отлично, когда я делал это, используя только угловые, но когда я реализовал его с помощью рельсов (со встроенными метками 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>
Используйте ng-init для инициализации переменной
<div class="row" ng-controller="EditUserCtrl" ng-init="showName = true">