• url与path的区别


    rails里面常见的二个路由自动生成有url,path两种,区别在哪儿呢?实例验证如下:

    image

    在浏览器中打开一个页面,观察两个Edit,发现其在状态栏显示都是一样的

    image

    果真一样?查看网页源代码,会发现url生成的是绝对路径,而path生成的则是相对路径,rails里面的path用的较多,相对路径的适应性会强一些.

    <a href="http://192.168.1.107:3000/users/1/edit">Edit</a> 
    <a href="/users/1/edit">Edit</a> |
    <a href="/users">Back</a>
     
    再比如路由文件(config/routes.rb)中如下定义:

    SampleApp::Application.routes.draw do
      match '/contact', :to => 'pages#contact'
      match '/about', :to => 'pages#about'
      match '/help', :to => 'pages#help'
    .
    .
    .
    end

    则在程序中可以这样:

    root_path => '/'
    root_url => 'http://localhost:3000/'

    about_path => '/about'
    about_url => 'http://localhost:3000/about'

     如果你写了一个不存在的路由,比如thanks_path,就会报错,而如果你在路由文件中添加

    match '/thanks', :to => 'pages#about'

    则又可以正常的工作了,说明rails其实是按照_path之前的名称在路由文件中查找对应的映射关系.

  • 相关阅读:
    MFC半透明对话框
    关于.h .lib .dll的总结
    C# 调用导致堆栈不对称。原因可能是托管的 PInvoke 签名与非托管的目标签名不匹配
    LeetCode——011 Container With Most Water
    《Effective C++》——读书笔记
    《More Effective C++》——读书笔记
    Chrome插件推荐
    LeetCode——004-Median-of-Two-Sorted-Arrays
    《STL源码剖析》——第七、八章:仿函数与接配器
    《STL源码剖析》——第五、六:关联容器与算法
  • 原文地址:https://www.cnblogs.com/angestudy/p/2752135.html
Copyright © 2020-2023  润新知