什么是在Rails 3布局中测试逻辑的最佳方法?
例如:当用户登录我的网站时,如果他们没有完成入门流程,我会在所有页面顶部显示警报。 这个逻辑被放置在应用程序布局中。 我只是检查特定键的已登录用户。 如果该键不存在,则显示警报。 只要键存在(表示他们已经完成了入门流程),我就不显示警报。
目前,我正在尝试使用视图测试来实现此目的,但是通过包括应用程序布局,我遇到了各种`ActionView :: Template :: Error:undefined method'authenticate' for nil:NilClass`错误,并且似乎无法测试此功能。
我需要确保我已经测试过这个功能,因为如果我的某个开发人员意外破坏了这个功能(在入门流程未完成的情况下显示视图),我们需要立即知道。
我试图在我的布局中测试的代码如下:
例如:当用户登录我的网站时,如果他们没有完成入门流程,我会在所有页面顶部显示警报。 这个逻辑被放置在应用程序布局中。 我只是检查特定键的已登录用户。 如果该键不存在,则显示警报。 只要键存在(表示他们已经完成了入门流程),我就不显示警报。
目前,我正在尝试使用视图测试来实现此目的,但是通过包括应用程序布局,我遇到了各种`ActionView :: Template :: Error:undefined method'authenticate' for nil:NilClass`错误,并且似乎无法测试此功能。
我需要确保我已经测试过这个功能,因为如果我的某个开发人员意外破坏了这个功能(在入门流程未完成的情况下显示视图),我们需要立即知道。
我试图在我的布局中测试的代码如下:
<% if user_signed_in? %>
<% unless current_user.has_completed_onboarding? %>
<div class="alert">
You cannot accept payments from your clients until you set up your payment gateway.
<%= link_to "Set up your", payment_gateway_path %> payment gateway. Its quick, we promise. :)
</div>
<% end %>
<% end %>
我希望确保如果他们没有提供入职详细信息,那么将显示此消息,如果已经提供了,则不显示此消息。