我的_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=>"…"}
,控制器名称与页面相关。 >
答案 0 :(得分:3)
<% 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
您还可以通过其他方法进行查看: