У меня есть приложение, которое я разрабатывал и которое до сих пор было только однопользовательской средой. Я, наконец, дошел до того, что мне нужно было добавить многопользовательские возможности, поэтому я последовал за Railscast на authlogic , чтобы получить простой логин.
Затем я добавил has_many :items
и accepts_nested_attributes_for :items
и belongs_to :user
к правильным моделям. Затем я удалил базу данных и настройки, а затем перенес ее. Я также добавил столбец user_id
ко всем моим вложенным моделям.
После этого, когда я нажимаю ссылку «Создать новый элемент», я перехожу на новую страницу и создаю новый элемент. Когда я возвращаюсь на страницу item_index, он больше не появляется. Я могу зайти в localhost / item / 1 и посмотреть запись, так что я знаю, что она создается, но когда я пытаюсь просмотреть ее в моем item_index.html.erb, она больше не отображается.
Вот основной цикл, который работал до того, как я добавил пользователя. (Это рендеринг в таблицу)
<% for item in @items %>
<%= link_to item.name, item %>
<% end %>
Я полагаю, что это неправильный цикл, но я не совсем уверен.
Спасибо
edit: Вот что происходит в моем методе index в контроллере предметов:
def index
@items = Item.search params[:search]
if @items.nil?
@items = Item.all
end
end
У меня есть странная вещь if nil?
, потому что я использую Сфинк-мышление, и иногда он терпел неудачу, если индекс был пустым.
edit2:
Если я поменяю индекс на
def index
@items = Item.all
end
Все появляется. Так что это означает, что это связано с мыслью сфинкса возиться с моим рендером
edit3: в образе мышления-сфинкса я сделал несколько вещей, не связанных с ним, и он снова волшебным образом работает.