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