У меня есть Категории контроллера и в макете _menu.html.erb Я хочу, чтобы вывести все категории на главной странице, но у меня есть сообщение об ошибке:Рельсы, ноль ошибки объект
You have a nil object when you didn't expect it!
You might have expected an instance of Array.
The error occurred while evaluating nil.each
Когда я вошел в качестве администратора я может добавлять, редактировать, удалять и просматривать все категории.
Это часть моего кода:
_menu.html.erb
<div class="menu">
<% @categories.each do |category| %>
<li>
<%= link_to category.title, category %>
</li>
<% end %>
</div>
Categories_controller.rb
def index
@title = "All categories"
@categories = Category.paginate(:page => params[:page])
end
def show
@category = Category.find(params[:id])
@title = @category.title
end
def new
@category = Category.new
@title = "Add category"
end
def create
@category = Category.new(params[:category])
if @category.save
flash[:success] = "Successfully added category"
redirect_to categories_path
else
@title = "Sign up"
render 'new'
end
end
def edit
@category = Category.find(params[:id])
@title = "Edit category"
end
def update
@category = Category.find(params[:id])
if @category.update_attributes(params[:category])
flash[:success] = "Category updated."
redirect_to categories_path
else
@title = "Edit user"
render 'edit'
end
end
def destroy
Category.find(params[:id]).destroy
flash[:success] = "User destroyed."
redirect_to categories_path
end
конец
Хорошо, но как я должен исправить эту проблему? Где я должен позвонить @categories = Category.all? Если я добавлю его в один статический сайт, он работает, но я не хочу добавлять его ко всем методам моего кода. – user1107922
Обновлен ответ. – iltempo
Спасибо большое :) – user1107922