我需要在模型contract_url(合约)中传递费用属性 我在模型CheckoutService中有以下代码:
delegate :url_helpers, to: 'Rails.application.routes'
def contract_url(cont)
url_helpers.contract_url(cont)
end
在charge_attributes中,我需要为属性secureUrl设置url,例如:
charge_attributes
{
secureReturnUrl: contract_url(contract)
}
我收到错误:
ActionController::UrlGenerationError: No route matches {:action=>"show", :controller=>"contracts", :locale=>#<Contract id: 13, ..} missing required keys: [:id]
rake routes:
合同GET(/:locale)/contracts/:id(.:format)合约#show {:locale =&gt; / en | fr /} PATCH(/:locale)/ contracts /:id(。:format)
如果我在控制器或视图中调用此url帮助器工作正确。 如何在模型中的url中传递当前区域设置?谢谢。
答案 0 :(得分:1)
将参数:locale添加到url。 I18n.locale返回当前区域设置。
contact_url(contact, locale: I18n.locale)