2015-10-10 4 views
0

Я пытаюсь сделать приложение с Rails 4.Rails: Public_Activity Gem - неиницализированные постоянная

Я установил public_activity камень.

Я следил за Ryan Bates Railscast и взял подход, основанный на контроллере, а также более легкий вариант Common (в отличие от отслеживания модели).

В моей 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 

В моей активности взгляды - index, у меня:

<% 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> 

В моей общественной деятельности (вид папки) /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 

I попытался заменить начальную строку индекса активности # так, чтобы Activities, Activity, но просто изменил сообщение об ошибке на:

NameError at /activities 
uninitialized constant ActionView::CompiledTemplates::Activities 

Что означает эта ошибка? Как это исправить?

Спасибо

ответ

0

Похоже, вы используете класс в цикле. Попытайтесь использовать свою переменную экземпляра в своем контроллере.

Изменить этот

<% Activities.each do |activity| %> 

в

<% @activities.each do |activity| %> 
0

Это должно быть <% Activity.find_each do |activity| %>

  1. Название модели всегда является особой
  2. Вы не можете назвать each только на модели
  3. Я бы рекомендовал использовать find_each вместо each в случае у вас есть много записей
  4. , если вы действительно хотите, чтобы все записи, которые вы всегда можете использовать .all метод

http://apidock.com/rails/ActiveRecord/Batches/ClassMethods/find_each

Смежные вопросы