【发布时间】:2021-10-29 04:24:42
【问题描述】:
所以我正在制作一个应用程序来管理项目及其任务, 使用教程我做了一些基本的东西。
现在我想在我的页面中添加一个时间线,所以我在我的 pr_list.rb(模型文件)中写了这个
def timeline
@pr_lists.each do |pr_list|
pr_list.pr_items.each do |pr_item|
if pr_item.completed?
@timeline = "#{pr_item.descrpition}: {#{pr_item.completed_at}}"
end
end
end
end
我在我的 pr_list/views/index 页面中调用了它。
<h1><%= pr_list.timeline %></h1>
但我明白了
NameError (undefined local variable or method `pr_list' for #<ActionView::Base:0x00000000029fb8>
Did you mean? @pr_lists")
在这一点上,即使我只是像输出字符串一样编码它,它也不起作用。
如果我尝试其他任何事情,它会给我一个NoMethodError
而其余的方法都有效。 如果我将上面的代码作为嵌入式红宝石写在 HTML.ERB 索引文件中,上面的代码也可以工作。
我是 Ruby on Rails 的新手。
【问题讨论】:
-
您在模板中显示了 use 或
pr_list;但是这个标识符是在哪里定义的? -
显示视图、控制器和模型。
标签: ruby-on-rails ruby model-view-controller