У меня есть функциональный набор тестов, который не работает в приложении Rails 2.2.2. Исключение брошено, и связанные с ним линии ниже:Исключение вызова частного метода для ActionView
ActionView::TemplateError: Attempt to call private method
On line #55 of app/views/wine/view.html.erb
53: <% for activity in @activities %>
54:
55: <% if activity.context == 'ItemComment' %>
56: <%= render :partial => 'item_comments/comment', :object => ItemComment.find(activity.context_id) %>
57: <% elsif activity.context == 'Review' %>
58: <%= render :partial => 'reviews/review', :object => Review.find(activity.context_id) %>
Этот код функции, как ожидается, и в любой другой среде, кроме теста; кроме того, activity
является просто экземпляром ActiveRecord под названием Activity, а context
является столбцом varchar в таблице activities
. Я не перегрузка геттера или сеттера для context
в модели. Это как ваниль, как вы можете получить.
Я сбитый с толку. Я никогда не видел этого раньше, и все попытки изолировать причину оказались тщетными, как и поиски Google.
Райан Бейтс, наконец, здесь .. Отлично! Надеемся, что вы получите больше ответов от вас. Спасибо, Swanand – Swanand
отличный, отличный ответ, и кажется, что это место. я даже не подумал думать, что это должно было вызвать его. Я попытаюсь определить контекст явно в модели. благодаря! – Kyle