Я недавно работал с контроллерами и маршрутизацией. Обычно, когда я пишу свои новые и создаю маршруты, это:
get '/pages/new' => 'pages#new', as: :new_page
post '/pages/ => 'pages#create'
, а действия контроллера:
def new
@page = Page.new
end
def create
@page = Page.new(page_params)
if @page.save
flash[:notice] = "Successfully created page."
redirect_to page_path(@page)
else
render action: 'new'
end
end
private
def page_params
params.require(:page).permit(:book_id, :text, :page_number)
end
Так что это работает для new_page_path и post_pages_path.
Но что, если бы был new_page_path (book_id: @ book.id)? (Также страница принадлежит книге). Что это означает и как это меняет мои методы new и create? Кроме того, если бы мне пришлось создать новую страницу, как бы я изменил счетчик количества страниц в моей книге?