为啥我的列表在应用程序中显示为空,如果其中包含信息?
Posted
技术标签:
【中文标题】为啥我的列表在应用程序中显示为空,如果其中包含信息?【英文标题】:Why my list shows as an empty in app, if it's contain information in it?为什么我的列表在应用程序中显示为空,如果其中包含信息? 【发布时间】:2019-08-20 15:28:37 【问题描述】:无法在我的应用中显示列表。 应用程序接受类似数组的空,但我有关于它的信息,我需要显示它。你能检查 Ruby 的人吗
控制器
class GymListsController < ApplicationController
def index
@gym_lists = GymList.all
end
end
型号(此列表应该可用,但它不可用)
class GymList < ApplicationRecord
has_many :users, through: :schedules
def gym_names
["Blink Fitness",
"24 Hour Fitness",
"Peloton Studio",
"Simply Fit",
"Equinox",
"Harbor Fitness"]
end
def gym_locations
["1172 5th Ave, ***lyn",
"1556 96 Ave, ***lyn",
"356 Lockey St, New York",
"421 Hudson St, New York",
"111 Cortney St, New York",
"37-20 Astoria Blvd, Queens"]
end
end
查看
<h2>Yours GYM</h2>
<br>
<div>
<% @gym_lists.each do |gym|%>
<h2><%= gym.name %></h2>
<h2><%= gym.location %></h2>
<br>
<% end %>
</div>
它显示一个空白页面。
红宝石
【问题讨论】:
在您显示的代码中没有任何地方创建GymList
。您在哪里创建 GymList
记录?如果您认为您正在尝试访问由gym_names
和/或gym_locations
返回的值,那么您就大错特错了。
【参考方案1】:
@gym_lists = GymList.all
从数据库中获取所有GymList记录
class GymListsController < ApplicationController
def index
@gym_list = GymList.new
@gym_lists_name = gym_list.gym_names
@gym_locations = gym_list.gym_locations
end
end
并在视图中遍历这两个列表并打印它 第二种解决方案
将这些列表添加到数据库中,然后您就可以使用@gym_lists = GymList.all
【讨论】:
我觉得这个教程对你很有帮助guides.rubyonrails.org/active_record_basics.html【参考方案2】:好的,您的代码中有很多问题。您可能应该阅读一些关于 CRUD this medium post should be a good start 的文档。
但是..关于您提供的信息,我想帮助您。
删除GymList
模型中的方法并将其替换为:
NAMES = ["Blink Fitness", "24 Hour Fitness", "Peloton Studio", "Simply Fit", "Equinox", "Harbor Fitness"]
LOCATIONS = ["1172 5th Ave, ***lyn", "1556 96 Ave, ***lyn", "356 Lockey St, New York", "421 Hudson St, New York", "111 Cortney St, New York", "37-20 Astoria Blvd, Queens"]
更新您的控制器:
def index
@gym_lists = GymList::NAMES.zip(GymList::LOCATIONS)
end
zip
将创建一个这样的数组数组:[["Blink Fitness", "1172 5th Ave, ***lyn"], ["24 Hour Fitness", "1556 96 Ave, ***lyn"], ...]
doc here
在 Aleksei Matiushkin 发表评论后编辑答案
<% @gym_lists.each do |name, location|%>
<h2><%= name %></h2>
<h2><%= location %></h2>
<br>
<% end %>
但说真的,考虑创建一个具有name
和location
属性的模型GymClub
,并通过seed.rb
填充您的db
【讨论】:
以上是关于为啥我的列表在应用程序中显示为空,如果其中包含信息?的主要内容,如果未能解决你的问题,请参考以下文章
如果值在 Android 中为空或 null,则显示默认文本
为啥SAP Logon720打开后,连接的列表显示为空,且登陆显示为灰色???安装步骤没问题,且三个配置文件sa
为啥在我的 HttpPost 方法 Ajax 调用中,控制器上的参数为空?