是什么导致这个未定义的方法`model_name’为Hash:Class

我试图在rails中实现一个链接,指向一个带有delete:方法的url,并且在url中有一些params,我正在尝试的是:

 

请注意my_param:country.id我试图传入。这给了我结果:

 undefined method `model_name' for Hash:Class 

由于参数中的哈希值。 不幸的是我需要在那里,因为我试图将一个额外的参数传递到url(my_param,在这个例子中是country.id)

据我所知,这是将params传递到rails中的link_to的正确方法。 我使用的正常link_to(没有my_param)在下面,完美地运行:

  

那么如何将我的参数纳入此url? 提前致谢。 ( 这是我认为这应该起作用的原因 )

使用polymorphic_path([:remove_country, :admin, @species], {country_id: country.id})

好吧,我做了一个hacky解决方案,但我不喜欢它一点:

 <%= link_to "Remove", url_for([:remove_country, :admin, @species]) + "?country_id=#{country.id}", method: :delete %> 

这是非常难看的,请有人让我摆脱痛苦,并告诉我一个很好的方法来做到这一点。