我有两种模式:
class TransferRoute < ActiveRecord::Base
has_many :transfers
end
class Transfer < ActiveRecord::Base
belongs_to :transfer_route
end
每个TransferRoute
都有一个与回程路线相对应的return_route_id。
我使用simple_form
添加新的转移并且正在运行。在控制器中我想创建另一个Transfer
,我将更改其中的一些字段(我将创建返回传输,切换离开目的地)。
transfers_controller
中的内容:
transfer_route = TransferRoute.find(params['transfer[transfer_route_id]'])
transfer_route_2 = TransferRoute.find(tr.return_route_id)
我收到以下错误:
Couldn't find TransferRoute without an ID
如果我使用transfer_route = TransferRoute.find(1)正在运行。
params有问题吗?
谢谢!
答案 0 :(得分:2)
你的params调用不正确,你的回复是零。 Params是哈希,你必须从params调用密钥:
params[:transfer][:transfer_route_id]
完整代码:
transfer_route = TransferRoute.find(params[:transfer][:transfer_route_id])