1
get 'androids/customer', to: 'androids#customer'
get 'androids/:id', to: 'androids#customerview'
get 'androids', to: 'androids#items'
get 'androids/new', to: 'androids#new'
post 'androids/create', to: 'androids#create'
get '/androids/:id', to: 'androids#show'
get 'androids/:id/edit', to: 'androids#edit'
patch 'androids/:id/update', to: 'androids#update'
get 'androids/:id/delete', to: 'androids#delete'
get 'androids/:id/sold', to: 'androids#show'
類AndroidsController < ApplicationController的這是路由錯誤嗎?
def items
@android = Android.all
end
def customer
@android = Android.all
end
def customerview
@android = Android.find(params[:id])
end
def show
@android = Android.find(params[:id])
end
def new
@android = Android.new
end
def create
@android = Android.new
@android.name = params[:android][:name]
@android.brand = params[:android][:brand]
@android.year = params[:android][:year]
@android.camera = params[:android][:camera]
@android.mpixel = params[:android][:mpixel]
@android.storage = params[:android][:storage]
@android.slot = params[:android][:slot]
@android.size = params[:android][:size]
@android.os = params[:android][:os]
@android.stock = params[:android][:stock]
@android.save
redirect_to "/androids/#{@android.id}"
end
def edit
@android = Android.find(params[:id])
end
def delete
@android = Android.find(params[:id])
@android.destroy
redirect_to '/androids'
end
def update
@android = Android.find(params[:id])
@android.update_attributes(android_params)
redirect_to "/androids/#{@android.id}"
end
private
def android_params
params.require(:android).permit(:name, :brand, :year, :camera, :mpixel, :storage, :slot, :size, :os, :stock)
end
末
當我進入 '機器人/:身份證' 它顯示了#機器人#顯示不是#機器人#customerview。我的代碼有問題嗎?我該怎麼處理這個路由錯誤?當我手動輸入localhost:****/androids/customer/2時,它會顯示正確的html頁面,但是當我點擊來自客戶頁面的鏈接時,它只會將我指向/ android /:id頁面。
感謝它的工作fo客戶觀點!我不能使用它兩次? – Alyanna
第二次使用相同的路由聲明時,第一次被覆蓋。在你的例子中,'to:'androids#show''取代了之前的控制器動作(''androids#customerview''),所以對'/ androids /:id'的所有訪問都被重新分配,直接指向''androids #show''動作。 –
感謝您的幫助!!!!! :) – Alyanna