Ruby on rails 向数组中添加对象?
我试图将一个对象插入数组,但它没有插入数组,而是在屏幕上打印内存地址 我的控制器中有以下代码:Ruby on rails 向数组中添加对象?,ruby-on-rails,ruby,arrays,object,insert,Ruby On Rails,Ruby,Arrays,Object,Insert,我试图将一个对象插入数组,但它没有插入数组,而是在屏幕上打印内存地址 我的控制器中有以下代码: @article = Article.new("test","test1") @articles << @article #this line causes the prints @article=article.new(“测试”、“测试1”) @文章这可能是预期的行为。如果@articles确实是一个数组,那么它应该可以工作。只需检查追加后的数组,并确保新添加的元素在那里。如
@article = Article.new("test","test1")
@articles << @article #this line causes the prints
@article=article.new(“测试”、“测试1”)
@文章这可能是预期的行为。如果@articles
确实是一个数组,那么它应该可以工作。只需检查追加后的数组,并确保新添加的元素在那里。如果您是从控制台执行此操作,那么您看到的打印可能是控制台行为,而不是预期的行为。如果@articles
确实是一个数组,那么它应该可以工作。只需检查追加后的数组,并确保新添加的元素在那里。如果您是从控制台执行此操作,那么您看到的打印可能是控制台行为,而不是,您可以强制@articles成为如下数组:
@articles ||= []
<% @articles.each do |a| %>
<%= a.titulo + " / " + a.texto %>
<% end %>
然后像您已经在做的那样添加@article您可以强制@articles成为如下数组:
@articles ||= []
<% @articles.each do |a| %>
<%= a.titulo + " / " + a.texto %>
<% end %>
然后像您已经在做的那样添加您的@文章创建@articles
作为数组
,然后使用将@articles
作为数组
添加到它之前,您的问题在于如何呈现@articles
:
<%= @articles.each do |a| a.titulo + " / " + a.texto end %>
您的问题在于如何呈现@文章
:
<%= @articles.each do |a| a.titulo + " / " + a.texto end %>
谢谢你的回答。我在网络上运行它,它会在网页上打印内存地址。你到底是如何将它打印到网页上的?我这样做是为了在视图中显示结果@Afaria-你应该将它添加到你的帖子中-你的问题在这里,而不是你认为它在哪里…我相信这是你的问题。您正在尝试将枚举数呈现给视图,而不是项目本身。您应该这样做:
谢谢您的回答。我在网络上运行它,它会在网页上打印内存地址。你到底是如何将它打印到网页上的?我这样做是为了在视图中显示结果@Afaria-你应该将它添加到你的帖子中-你的问题在这里,而不是你认为它在哪里…我相信这是你的问题。您正在尝试将枚举数呈现给视图,而不是项目本身。您应该这样做:
在控制器中使用初始化
不是很习惯,我不建议这样做。相反,我建议使用私有方法:def articles@条款| |=[];结束代码>是的,在控制器中初始化
会导致问题。不要这样做。在控制器中使用初始化
不是很习惯,我不建议这样做。相反,我建议使用私有方法:def articles@条款| |=[];结束代码>是的,在控制器中初始化
会导致问题。不要这样做。相反,在过滤器前使用。
。好的呼叫。我的回答很好。编辑答案。