1
我正在嘗試爲包含多個主板的項目創建嵌套路由。Rails中的嵌套路由3.2.3
首先我創建一個鏈接到一個新的董事會:
<%= link_to 'New Board', new_project_board_path(@project) %>
在routes.rb中我只是嵌套在寧靜的路線:
resources :projects do
resources :boards
end
而在板控制器我適應新創建動作如下:
def new
@project = Project.find(params[:project_id])
@board = @project.boards.new
respond_to do |format|
format.html # new.html.erb
format.json { render json: @board }
end
end
def create
@project = Project.find(params[:project_id])
@board = @project.boards.new(params[:board])
respond_to do |format|
if @board.save
format.html { redirect_to @board, notice: 'Board was successfully created.' }
format.json { render json: @board, status: :created, location: @board }
else
format.html { render action: "new" }
format.json { render json: @board.errors, status: :unprocessable_entity }
end
end
end
至少我還將_form.html.erb更改爲:
<%= form_for([@project, @board]) do |f| %>
等
當我點擊按鈕,創建板(所以執行新的動作),它說沒有路由匹配我的問題開始。我想它與創建操作有關,因爲它不再獲取項目的ID?我真的不知道還有什麼可以改變的地方。
可以粘貼實際錯誤嗎? – Justin
沒有路由匹配[GET]「/ boards/39」 – cruxi
點擊創建主板後,該網址不合適..在此之前,它有正確的一個我猜測:http:// localhost:3000/projects/5/boards/new – cruxi