gpt4 book ai didi

ruby-on-rails - Rails 局部 View 中的动态数据

转载 作者:太空宇宙 更新时间:2023-11-03 18:27:40 24 4
gpt4 key购买 nike

我刚刚开始在我的 Rails 应用程序中使用 Partials,目前我的 application.html.erb 中有以下代码

<%= render 'categories/categorieslist' %>

这链接到我的 views/categories/文件夹中的 _categorieslist.html.erb

目前这部分包含硬编码的超链接

<ul class="unstyled">
<li style="padding-bottom:5px"><a href="#">Item A&raquo;</a></li>
<li style="padding-bottom:5px"><a href="#">Item B&raquo;</a></li>
</ul>

我的目标是让这些类别来自数据库,例如

<ul class="unstyled">
<% @categories.each do |category| %>
<li style="padding-bottom:5px"><a href="#"><%= category.name %> &raquo; </a></li>
<% end %>
</ul>

我尝试在类别 Controller 中添加一个类别列表方法,例如

def categorieslist
@categories = Category.all
respond_to do |format|
format.html # index.html.erb
format.json { render json: @categories }
end
end

但这并没有被局部调用(而且我觉得这甚至不是正确的方法),并且显示错误

NoMethodError in Store#index

在 <% @categories.each 行上 |category| %>

我的问题是如何将类别对象传递到 application.html.erb 文件中,类别对象通常来自类别 Controller 中的 Controller 方法?

任何帮助都会很棒。

最佳答案

您可以在您的 View 中发送带有局部调用的 locales 并将变量传递给该局部。

例如(这是部分快捷方式):

你从中调用部分的 View

<%= render 'categories/categorieslist', :all_categories => @categories %>

您的部分类别/_categorieslist.html.erb(注意变量中没有@)

<ul class="unstyled">
<% all_categories.each do |category| %>
<li style="padding-bottom:5px"><a href="#"><%= category.name %> &raquo; </a></li>
<% end %>
</ul>

有关详细信息(和长版),请参阅 3.4.4 Passing Local Variables在 Rails 指南中。

关于ruby-on-rails - Rails 局部 View 中的动态数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8778430/

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