我遇到的问题是在其容器div之外呈现警报。我有一个bootstrap flash助手和客户帮助器,它应该输出一个警报div。但警告div正在boostrap-flash
div。
# application.html.erb
# ..snip..
<div class="bootstrap-flash">
<%= unconfigured_subscription_manager_alert %>
<%= bootstrap_flash %>
</div>
# ..snip..
看起来不错?这是输出:
<div class="bootstrap-flash">
</div>
<div class="alert alert-danger">
..alert text..
</div>
WTF?好的,这是辅助方法:
def unconfigured_subscription_manager_alert
return unless distributor_staff_signed_in? and
current_distributor.subscription_manager_options_set?
raw("<div class=\"alert alert-danger\">..alert text..</div>")
end
最奇怪的是,无论我使用以下任何语法,都会输出警报div:
<% unconfigured_subscription_manager_alert %>
<%= unconfigured_subscription_manager_alert %>
<% concat unconfigured_subscription_manager_alert %>
其中没有一个将div放在它应该去的地方。另一个奇怪的事情是distributor_staff_signed_in?
是假的,警报仍在显示......太奇怪......
我尝试重新启动服务器并交换bootstrap-flash
div内的辅助方法调用的位置无效。我还尝试制作一个unconfigured_subscription_manager?
帮助器,然后像这样检查并执行:
# application.html.erb
# ..snip..
<div class="bootstrap-flash">
<% if unconfigured_subscription_manager? %>
<div class="alert alert-danger">..alert text..</div>
<% end %>
<%= bootstrap_flash %>
</div>
# ..snip..
无济于事。
有人有任何想法吗?感谢。
更新
尝试将binding.pry放在bootstrap-flash
div上方,distributor_staff_signed_in?
为false,unconfigured_subscription_manager_alert
返回nil,正如预期的那样
清除了我的浏览器缓存,删除了数据库并重新启动,问题仍然存在:(
按照gist的要求发布完整application.html.erb
(对不起,SO编辑讨厌它)
更新2
以某种方式解决了它,不知道怎么样......我猜错了代码......对不起是that guy大声笑。感谢所有帮助过我的人!