【发布时间】:2017-10-12 09:50:20
【问题描述】:
我有两个模型。首先是 Taxirecord,其次是 Carpark。每个 Taxirecord 可能有自己的停车场。我在将taxirecord_id 传递给停车场记录时遇到问题。我有路线
car_new GET /taxidetail/:taxirecord_id/carpark/new(.:format) carparks#new
我想将 :taxirecord_id(我正在编辑的出租车记录的 id)传递给我的创建控制器。 我的停车场型号:
class Carpark < ActiveRecord::Base
belongs_to :taxirecord
end
在控制器中,我通过基于参数 :taxirecord_id 的 find 函数查找taxirecord_id,但在调用 create 时 id 为 nil。你能帮我找出我做错了什么以及如何解决这个问题吗?感谢您的帮助!
我的停车场控制器
class CarparksController < ApplicationController
def new
@car = Carpark.new
end
def create
@car = Carpark.new(carpark_params, taxirecord_id: Taxirecord.find(params[:taxirecord_id]))
if @car.save
flash[:notice] = "Zaznam byl ulozen"
redirect_to root_path
else
flash[:notice] = "Zaznam nebyl ulozen"
render 'new'
end
end
private def carpark_params
params.require(:carpark).permit(:car_brand, :car_type, :driver_name, :driver_tel)
end
end
【问题讨论】:
-
你的控制器里有什么?以及您如何执行对该路由的请求?
-
请显示您的完整代码,而不仅仅是您的代码说明。我怀疑问题是您没有使用必要的属性调用
permit,但是如果没有看到代码,我无法正确回答您的问题! -
我不相信有可能弄清楚你在这里的意思。你需要更好地描述你想要的东西。显示更多代码可能会有所帮助。也可能是之前和之后的案例。
-
编辑:添加控制器
-
我要添加停车场,属于taxirecord_id关联的taxirecord
标签: ruby-on-rails ruby model controller associations