我的頁面控制器具有此代碼:如何將鏈接添加到頁面動態地在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