Rails simple_form参数在控制器中不起作用

时间:2014-07-08 11:20:56

标签: ruby-on-rails parameters simple-form

我有两种模式:

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有问题吗?

谢谢!

1 个答案:

答案 0 :(得分:2)

你的params调用不正确,你的回复是零。 Params是哈希,你必须从params调用密钥:

params[:transfer][:transfer_route_id]

完整代码:

transfer_route = TransferRoute.find(params[:transfer][:transfer_route_id])