Ruby on rails RubyonRails。链接到dons';不要提出例外
如果我向Ruby on rails RubyonRails。链接到dons';不要提出例外,ruby-on-rails,helpers,Ruby On Rails,Helpers,如果我向link_to方法传递一个与任何资源都不相关的实例变量(并且等于nil),为什么Rails会在锚元素的href属性中创建当前页面的路径,而不是引发异常 下面是一个例子: 路线 # app/config/routes.rb Example::Application.routes.draw do resource :example end HAML -# app/views/examples/show.html.haml %div = link_to 'Non-existent r
link_to
方法传递一个与任何资源都不相关的实例变量(并且等于nil
),为什么Rails会在锚元素的href
属性中创建当前页面的路径,而不是引发异常
下面是一个例子:
路线
# app/config/routes.rb
Example::Application.routes.draw do
resource :example
end
HAML
-# app/views/examples/show.html.haml
%div
= link_to 'Non-existent resource', @ne_resource
<!-- http://localhost/example -->
<div>
<a href="/example">Non-existent resource</a>
HTML
-# app/views/examples/show.html.haml
%div
= link_to 'Non-existent resource', @ne_resource
<!-- http://localhost/example -->
<div>
<a href="/example">Non-existent resource</a>
谢谢
Debian GNU/Linux 6.0.1
Ruby 1.9.2
RubyonRails 3.0.6。如果您查看它使用该方法链接到url的方法
从上面可以看出,url_for在没有选项或使用nilClass的情况下是有效的,它不是为引发异常而设计的。如果您想在使用link\u to时出错,请确保使用动态“path”助手方法,在上述情况下,请使用new\u example\u path。如果您查看它使用该方法链接到url的方法
从上面可以看出,url_for在没有选项或使用nilClass的情况下是有效的,它不是为引发异常而设计的。如果您想在使用link\u-to时出错,那么请确保使用动态“path”助手方法,在上面的例子中是new\u-example\u-path。我向DHH(Rails的创建者)询问了一个与link\u-to在传递nil,nil
参数时的行为密切相关的问题。我希望它根本不会呈现标签,而不是在调用它之前让我检查nils。他亲切地回答说:
这个答案的实质适用于你的问题。当给它一个nil
时,它需要做一些事情。Gazler指出了技术上正在发生的事情,但DHH的回答显示了更高层次的“为什么?”方法的url_可以接受一个nil参数,而当前页面是一个合理的默认值
我向DHH(Rails的创建者)询问了一个与link_to在传递nil,nil
参数时的行为密切相关的问题。我希望它根本不会呈现标签,而不是在调用它之前让我检查nils。他亲切地回答说:
这个答案的实质适用于你的问题。当给它一个nil
时,它需要做一些事情。Gazler指出了技术上正在发生的事情,但DHH的回答显示了更高层次的“为什么?”
方法的url_可以接受一个nil参数,而当前页面是一个合理的默认值