我的页面控制器具有此代码:如何将链接添加到页面动态地在Rails中
class PagesController < ApplicationController
def index
@pages = Page.all
end
def new
@page = Page.new
end
def edit
@page = Page.find(params[:id])
end
def create
@page = Page.new(page_params)
@page.save
redirect_to @page
end
def update
@page = Page.find(params[:id])
@page.update(page_params)
redirect_to @page
end
def show
@page = Page.find(params[:id])
end
def destroy
@page = Page.find(params[:id])
@page.destroy
redirect_to pages_path
end
private
def page_params
params.require(:page).permit(:title,:description)
end
end
而在我的导航栏我有这样的代码:
<% @pages.each do |page| %>
<li?<%= link_to 'page.title', page_path(page)%></li>
<% end %>
代码应生成每个标题页面创建,但是当我运行该页面时出现以下错误:
undefined method `each' for nil:NilClass
我以为我通过enteri消除了此问题在PagesController中新函数内的代码。此页面控制器仅用于其他页面。导航栏还包含指向静态页面的链接,因此导航栏中应该总是有一些值。
有没有人有任何建议?
它是否适用于'index',但不适用于'show'。或者,它无法工作? – jvillian
它不在导航栏中工作。我有一个单独的页面,用户可以创建读取更新和销毁页面。此功能在那里工作,但不在导航栏中 – Sandra123
当导航栏引发错误时,会调用什么控制器/操作? – jvillian