В моем приложении rails есть 3 модели. След, регион и особенность. Я могу нормально взаимодействовать с этими моделями в моем каталоге lib / tasks. Я использовал анемона для сканирования и заполнения базы данных. Примеры звонков, которые я сделал на моделях:
Trail.find_or_initialize_by_title(detail_title)
Сейчас я пытаюсь написать контроллер, использующий эту модель.
class TrailController < ApplicationController
def index
render :json => Trail.all
end
end
Теперь, если я открою консоль rails и попробую app.get('trail/index')
, я получаю код возврата 500 и вижу следующее в моем development.log
SystemStackError (слишком глубокий уровень стека):
app / controllers / trail_controller.rb: 23: в `index '
Итак, я, очевидно, вызываю бесконечную рекурсию. Строка 23 соответствует телу метода index. Я пробовал другие модели в своем приложении: Feature и Region, и результат тот же. Может ли кто-нибудь сказать мне, что я здесь делаю не так, или как я могу получить больше трассировки, чтобы выяснить, что именно повторяется бесконечно?
Мои модели очень простые:
class Feature < ActiveRecord::Base
attr_accessible :name
has_and_belongs_to_many :trails
validates :name, :presence => true
end
class Region < ActiveRecord::Base
attr_accessible :hash_key, :name
has_many :trails
validates :hash_key, :name, :presence => true
end
class Trail < ActiveRecord::Base
# attr_accessible :title, :body
has_and_belongs_to_many :features
validates :title, :presence => true
end
Похоже, это каким-то образом вызвано жемчужиной searchlogic. У меня есть это в моем Gemfile:
gem 'rd_searchlogic', :require => 'searchlogic', :git => 'git://github.com/railsdog/searchlogic.|~
Когда я закомментирую эту строку, запустите установку пакета и повторите попытку app.get, все работает нормально. Так что searchlogic каким-то образом мешает Trail.all. Почему Trail.all не работает с установленным searchlogic?
trails = Trail.all; render json: trails
? - person Anthony Alberto   schedule 04.11.2012trails = Trail.all; render :json => trails
и получил ту же ошибку. - person theraju   schedule 04.11.2012class Feature < ActiveRecord::Base attr_accessible :name has_and_belongs_to_many :trails validates :name, :presence=>true end class Region < ActiveRecord::Base attr_accessible :hash_key, :name has_many :trails validates :hash_key, :name, :presence=>true end class Trail < ActiveRecord::Base # attr_accessible :title, :body has_and_belongs_to_many :features validates :title, :presence=>true end
- person theraju   schedule 04.11.2012