加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 如何覆盖rails中的路径路径助手?

发布时间:2020-12-17 02:20:38 所属栏目:百科 来源:网络整理
导读:我的路线定义如下 match '/user/:id' = 'user#show',:as = :user 如果由于某种原因传递了nil ID,我希望路由助手只返回’#’,如果ID不是nil,我希望它返回正常路径,如’/ user / 123′. 或者有更好的方法来做到这一点. 这个路由助手已经在我的代码中的很多地方
我的路线定义如下

match '/user/:id' => 'user#show',:as => :user

如果由于某种原因传递了nil ID,我希望路由助手只返回’#’,如果ID不是nil,我希望它返回正常路径,如’/ user / 123′.
或者有更好的方法来做到这一点.
这个路由助手已经在我的代码中的很多地方使用,所以我不想改变它.相反,我正在寻找一个会影响user_path所有实例的地方.

谢谢

解决方法

module CustomUrlHelper
  def user_path(user,options = {})
    if user.nil?
      "#"
    else
      super
    end
  end
end

# Works at Rails 4.2.6,for older versions try https://stackoverflow.com/a/31957323/474597
Rails.application.routes.named_routes.url_helpers_module.send(:include,CustomUrlHelper)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读