gpt4 book ai didi

ruby-on-rails - Rails 更改长 if/else 语句

转载 作者:行者123 更新时间:2023-12-02 09:10:26 26 4
gpt4 key购买 nike

所以我尝试放入动态 anchor 标记以实现可访问性。根据 url, anchor 标记被放置在正文下方的顶部。我最终在 View 中做了类似的事情:

<body>
<div class="skip">
<%= yield :upper_body%>
<%= anchor_update %>
<a href="/"> Navigation - Home </a>
</div>
</body>

我的anchor_update方法有以下if/else困惑,我想清理:

def anchor_update
url = request.original_url
if url.include?('services')
content_tag(:a, "Skip to Services Content", :href => '#services')
elsif url.include?('about')
content_tag(:a, "Skip to About", :href => '#about-content')
elsif url.include?('core-values')
content_tag(:a, "Skip to Core Values Content", :href => '#core-values')
elsif url.include?('condition')
content_tag(:a, "Skip to Condition Content", :href => '#condition-content')
elsif url.include?('top')
content_tag(:a, "Skip to Top Content", :href => '#top-content')
else
'¯\_(ツ)_/¯'
end
end

编辑:最初我不知道如何安全地转义该语句。返回作品。但这对于 if/elsif 来说是一个困惑的解决方案。所以我试图找出是否有更干净的解决方案。

附加编辑:我们目前使用的 CMS 允许用户生成新页面,这些页面将使用我们为他们设计的名为two_pane 的模板,其中大约有 20 个,因此该方法会尝试访问每个页面。

最佳答案

案例的答案是一个好的开始。但是您可以只使用 link_to 而不是 content_tag 来清理所有重复项。

link_to("Skip to Services Content",'#services')

link_to("Skip to About", '#about-content')

等等。

关于ruby-on-rails - Rails 更改长 if/else 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52975172/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com