Rails: Public_Activity Gem - 未初始化常量
Rails: Public_Activity Gem - uninitialised constant
我正在尝试用 Rails 4.
制作一个应用
我已经安装了 public_activity gem.
我遵循了 Ryan Bates Railscast 并采用了基于控制器的方法,以及较轻的通用选项(与跟踪模型相反)。
在我的 activities_controller 我有:
class ActivitiesController < ApplicationController
def index
@activities = PublicActivity::Activity.order("created_at desc")
end
end
在我的 project.rb 中,我有:
include PublicActivity::Common
在我的项目控制器中,创建动作,我有:
@project.create_activity :create, owner: current_user
在我的 activity 视图 - 索引中,我有:
<% Activities.each do |activity| %>
<div class="col-md-4">
<div class="indexdisplay">
<span class="indexheading">
<%= link_to activity.owner.name, activity.owner if activity.owner %>
</span>
<span class="indexsubtext">
<%= render_activity activity %>
</span>
在我的 public activity(查看文件夹)/project/_create.html.erb 中,我有:
<% if activity.trackable %>
<%= link_to activity.trackable.name, activity.trackable %>
<% else %>
which has since been removed
<% end %>
当我尝试这个时,我得到这个错误:
NameError at /activities
uninitialized constant ActionView::CompiledTemplates::Activities
我尝试替换 activity#index 的开头行,以便 Activities 为 Activity,但它只是将错误消息更改为:
NameError at /activities
uninitialized constant ActionView::CompiledTemplates::Activities
这个错误是什么意思?我该如何解决?
谢谢
应该是<% Activity.find_each do |activity| %>
- 模型名称始终是单数
- 您不能仅在模型
上调用each
- 我建议你使用
find_each
而不是 each
以防你有很多记录
- 如果您确实想要所有记录,您可以随时使用
.all
方法
http://apidock.com/rails/ActiveRecord/Batches/ClassMethods/find_each
您似乎在循环中使用了 Class。尝试在控制器中使用实例变量。
改变这个
<% Activities.each do |activity| %>
进入
<% @activities.each do |activity| %>
我正在尝试用 Rails 4.
制作一个应用我已经安装了 public_activity gem.
我遵循了 Ryan Bates Railscast 并采用了基于控制器的方法,以及较轻的通用选项(与跟踪模型相反)。
在我的 activities_controller 我有:
class ActivitiesController < ApplicationController
def index
@activities = PublicActivity::Activity.order("created_at desc")
end
end
在我的 project.rb 中,我有:
include PublicActivity::Common
在我的项目控制器中,创建动作,我有:
@project.create_activity :create, owner: current_user
在我的 activity 视图 - 索引中,我有:
<% Activities.each do |activity| %>
<div class="col-md-4">
<div class="indexdisplay">
<span class="indexheading">
<%= link_to activity.owner.name, activity.owner if activity.owner %>
</span>
<span class="indexsubtext">
<%= render_activity activity %>
</span>
在我的 public activity(查看文件夹)/project/_create.html.erb 中,我有:
<% if activity.trackable %>
<%= link_to activity.trackable.name, activity.trackable %>
<% else %>
which has since been removed
<% end %>
当我尝试这个时,我得到这个错误:
NameError at /activities
uninitialized constant ActionView::CompiledTemplates::Activities
我尝试替换 activity#index 的开头行,以便 Activities 为 Activity,但它只是将错误消息更改为:
NameError at /activities
uninitialized constant ActionView::CompiledTemplates::Activities
这个错误是什么意思?我该如何解决?
谢谢
应该是<% Activity.find_each do |activity| %>
- 模型名称始终是单数
- 您不能仅在模型 上调用
- 我建议你使用
find_each
而不是each
以防你有很多记录 - 如果您确实想要所有记录,您可以随时使用
.all
方法
each
http://apidock.com/rails/ActiveRecord/Batches/ClassMethods/find_each
您似乎在循环中使用了 Class。尝试在控制器中使用实例变量。
改变这个
<% Activities.each do |activity| %>
进入
<% @activities.each do |activity| %>