2015-02-03 2 views
0

У меня есть страница, которая показывает список изображений и количество очков, добавленных к этому изображению. Локально он работает отлично, но теперь я пытаюсь заставить его работать на моем сервере, и когда я нахожусь на странице, я получаю сообщение об ошибке,Посещение страницы rails вызывает ошибку

Извините, но что-то пошло не так. Если вы владелец приложения проверить журналы для получения дополнительной информации

Мой журнал это показывает,

I, [2015-02-03T06:51:31.352333 #28417] INFO -- : Started GET "/competitions/4" for 82.73.170.71 at 2015-02-03 06:51:31 -0500 
I, [2015-02-03T06:51:31.353823 #28417] INFO -- : Processing by CompetitionsController#show as HTML 
I, [2015-02-03T06:51:31.353886 #28417] INFO -- : Parameters: {"id"=>"4"} 
I, [2015-02-03T06:51:31.364301 #28417] INFO -- : Rendered competitions/show.html.haml within layouts/application (7.8ms) 
I, [2015-02-03T06:51:31.364563 #28417] INFO -- : Completed 500 Internal Server Error in 10ms 
F, [2015-02-03T06:51:31.366172 #28417] FATAL -- : 
ActionView::Template::Error (undefined method `points' for #<Picture:0x007f80f61ca038>): 
    54:    Votes 
    55:    - if signed_in? 
    56:     - if current_user == @competition.user || current_user.administrator? || Time.now.in_time_zone("Amsterdam") <= @competition.deadline 
    57:     = picture.points 
    58:     -# = pluralize(picture.votes.count, "vote") 
    59:     -# %span 
    60:      -# %div 
    app/views/competitions/show.html.haml:57:in `block in _app_views_competitions_show_html_haml___3029568455364587805_70095924335640' 
    app/views/competitions/show.html.haml:44:in `each' 
    app/views/competitions/show.html.haml:44:in `_app_views_competitions_show_html_haml___3029568455364587805_70095924335640' 

код из моего show.html.haml

- if Time.now.in_time_zone("Amsterdam") >= @competition.deadline_signin 
     - @competition.pictures.shuffle.each do |picture| 
     .item 
      = link_to picture do 
      = image_tag(picture.image_url) 
      .content 
      %p 
       Door: 
       = picture.user.name 

      %p.vote 
       Votes 
       - if signed_in? 
       - if current_user == @competition.user || current_user.administrator? || Time.now.in_time_zone("Amsterdam") <= @competition.deadline 
        = picture.points 
        -# = pluralize(picture.votes.count, "vote") 
        -# %span 
        -# %div 
         -# %p 
         -# \ #{pluralize(picture.votes.count, "")} 
      = link_to picture.title, picture, :class => "art-name" 

Кто-нибудь увидеть в чем проблема?

редактировать "показывая миграции"

20150131130944_add_points_to_pictures.rb

class AddPointsToPictures < ActiveRecord::Migration 
    def change 
    add_column :pictures, :points, :integer, default: 0 
    end 
end 

И действие миграции,

[email protected]:~/wisemonkeys/current$ RAILS_ENV=production bundle exec rake db:migrate 
== AddPositionToPictures: migrating ========================================== 
-- add_column(:pictures, :position, :integer) 
    -> 0.0046s 
== AddPositionToPictures: migrated (0.0049s) ================================= 

== AddPointsToPictures: migrating ============================================ 
-- add_column(:pictures, :points, :integer, {:default=>0}) 
    -> 0.0034s 
== AddPointsToPictures: migrated (0.0037s) =================================== 
+2

ли изображение на самом деле есть метод точек? –

+0

Если точки - это атрибут, добавленный с переносом, обязательно выполняйте миграцию на сервере. – wpp

+0

Вы пытались возиться с этим методом в своей консоли Rails? – David

ответ

0

ли вы добавить точки на контроллере изображения в разрешении (Rails 4)

Или

В картинной модели attr_accessible (Rails3)

+0

Хм, не уверен, что я сделал, чтобы исправить это, но теперь он работает. Я думаю, что мой файл базы данных не обновился с моим действием миграции. Я сбросил свою БД и переместился, и теперь ошибка исчезла. –

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