我的_footer.html.erb
是(简体):
<footer class="footer">
<nav class="navbar navbar-default navbar-fixed-bottom navbar-inverse">
<% if logged_in? %>
<li class="btn btn-primary"> <%= link_to 'Add New Connection', new_year_path %></li>
<li class="btn btn-primary"> <%= link_to 'Add New Person', new_person_path %> </li>
<li class="btn btn-primary"> <%= link_to 'Add New Address/Location', new_location_path %> </li>
<% end %>
</nav>
</footer>
但是我不希望在编辑时显示页脚;太容易单击这些按钮之一而不是页面下方的Cancel
或Submit
了,我的页脚被卡在了底部。 views/layouts/application.html.erb
具有<%= render 'layouts/footer' %>
我想我可以让我的三个edit.html.erg
不使用上面的默认值,但是如果我可以在_footer.html.erg
上添加另一个条件,则看起来会更容易。或其他方式。也许关于不提交就离开页面的事情?
基于@tsrandrei的评论,我尝试将页脚包装在<% if !current_page?(action: 'edit') %>
等等<% end %>
中,但随后出现错误No route matches {:action=>"edit", :controller=>"…"}
,且控制器名称与页面相关。
<% if current_page?(action: 'edit') %>
<footer class="footer">
<nav class="navbar navbar-default navbar-fixed-bottom navbar-inverse">
<% if logged_in? %>
<li class="btn btn-primary"> <%= link_to 'Add New Connection', new_year_path %></li>
<li class="btn btn-primary"> <%= link_to 'Add New Person', new_person_path %> </li>
<li class="btn btn-primary"> <%= link_to 'Add New Address/Location', new_location_path %> </li>
<% end %>
</nav>
</footer>
<% end %>
请参见https://api.rubyonrails.org/classes/ActionView/Helpers/UrlHelper.html#method-i-current_page-3F您还可以使用其他方法进行查看: