繁体   English   中英

如何在其他综合浏览量中显示两个不同的部分?

[英]How do I show two different partials on every other pageview?

我正在使用cycle Rails方法-主要是因为我想不出另一种方法。

我正在做的是在控制器中声明以下内容:

@banner_cycle = [1,2]

在我看来,这样做是:

<div class="hidden-sm hidden-xs text-center">
    <% @banner_cycle.each do |x| %>
        <%= cycle(render "shared/banner_728x90", render "shared/banner_970x250") %>
    <% end %>               
</div>

这是我得到的错误:

SyntaxError at /posts/another-awesome-test
syntax error, unexpected tSTRING_BEG, expecting keyword_do or '{' or '('

除非更改了它,否则我忘记了cycle不会在页面浏览中起作用。 它仅适用于当前视图/页面加载。 如果您确实要替换页面视图,则必须将状态保持在服务器上的某个位置。 或者,如果您可以按用户交替显示,则可以在会话中进行跟踪。 说出类似...

在控制器操作中:

session[:banner_cycle] = session[:banner_cycle].to_i + 1

.to_i是为了防止nil。

您认为:

<div class="hidden-sm hidden-xs text-center">
    <% if session[:banner_cycle].even? %>
        <%= render "shared/banner_728x90" %>
    <% else %>
        <%= render "shared/banner_970x250" %>
    <% end %>               
</div>

我想一个激进的用户可能会溢出最大整数值,但是我在这里不必担心。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM