gpt4 book ai didi

ruby-on-rails - Rails i18n 项目列表和循环 View

转载 作者:行者123 更新时间:2023-12-04 05:47:45 25 4
gpt4 key购买 nike

如何在我的 yml 中列出元素并在 View 中遍历它们并访问它们的属性?我当前的代码只获取列表中的最后一项。我想在 View 中遍历项目列表并显示它们的 titledescription元素。

例如

yml:

en:
hello: "Hello world"
front_page:
index:
description_section:
title: "MyTitle"
items:
item:
title: "first item"
description: "a random description"
item:
title: "second item"
description: "another item description"

看法:
      <%= t('front_page.index.description_section.items')do |item| %>
<%= item.title %>
<%= item.description %>
<%end %>

结果:
   {:item=>{:title=>"second item", :description=>"another item description"}} 

预期结果:
    first item
a random description

second item
another item description

最佳答案

改用这个:

<% t('front_page.index.description_section.items').each do |item| %>
# ^ no equal sign here
<%= item[:title] %>
#^^^^ this is a hash
<%= item[:description] %>
<% end %>

此外,您的项目列表定义不正确:
t('front_page.index.description_section.items.item.title')
# => returns "second item" because the key `item` has been overwritten

使用以下语法在 YAML 中定义数组:
items:
- title: "first item"
description: "a random description"
- title: "second item"
description: "another item description"

要检查这一点,您可以在 IRB 控制台中执行以下操作:
h = {:items=>[{:title=>"first item", :description=>"desc1"}, {:title=>"second item", :description=>"desc2"}]} 
puts h.to_yaml
# => returns
---
:items:
- :title: first item
:description: desc1
- :title: second item
:description: desc2

关于ruby-on-rails - Rails i18n 项目列表和循环 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29805207/

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