路由:resource_path还是resource_url?

Kar*_*arl 4 ruby-on-rails

当您在模型上执行map.resources时,它会生成一堆路由助手:

resource_path(@resource)
resource_url(@resource)
new_resource_url
etc.
Run Code Online (Sandbox Code Playgroud)

使用_path和_url有什么区别?从我尝试过它似乎没有任何区别.

jdl*_*jdl 8

foo_url包括域和协议.foo_path只输出相对路径.

>> foo_url(:id => 1)
http://localhost:3000/foo/1

>> foo_path(:id => 1)
/foo/1
Run Code Online (Sandbox Code Playgroud)

大多数情况下,你想要"_path",但你可以选择.

  • 这真的只是个人偏好.一个例外是,如果您正在构建RSS源或需要完整URL的内容,那么您绝对应该使用resource_url() (2认同)