小编qal*_*lep的帖子

为什么浏览器将换行符渲染为空格?

在最长的时间里,我想了解为什么浏览器在呈现的HTML元素之间添加一个空格,当它们之间存在NewLine时,例如:

<span>Hello</span><span>World</span>
Run Code Online (Sandbox Code Playgroud)

上面的html将输出"HelloWorld"字符串, "Hello"和"World"之间没有空格,但是在以下示例中:

<span>Hello</span>
<span>World</span>
Run Code Online (Sandbox Code Playgroud)

上面的html将输出一个"Hello World"字符串,其中包含"Hello"和"World"之间的空格.

现在,我毫不犹豫地接受这只是它工作时间的方式,但是让我感到困惑的是,我总是认为html元素之间的空格(或换行符)在当时并不重要.浏览器将html呈现给用户.

所以我的问题是,如果有人知道这种行为背后的哲学或技术原因.

谢谢.

html

64
推荐指数
4
解决办法
2万
查看次数

将 Rails 引擎的 url_helpers 与 Rspec 中的基本应用程序结合起来

我有一个 Rails 3.2.15 应用程序,其引擎安装在顶部,如下所示routes.rb

mount Service::Engine => '/'
Run Code Online (Sandbox Code Playgroud)

在测试我的应用程序时,我想为我的引擎使用路由 url_helpers,如果该路由不存在,则回退到主应用程序。

例如,我在主应用程序(rake routes输出)中有这条路线,但引擎中不存在:

manager_account  GET  /manager/accounts/:id(.:format)     manager_accounts#show
Run Code Online (Sandbox Code Playgroud)

我将应用程序和引擎的 url_helpers 包含在spec_helper.rb

RSpec.configure do |config|
  config.include Service::Engine.routes.url_helpers, type: :feature
  config.include Rails.application.routes.url_helpers, type: :feature
end
Run Code Online (Sandbox Code Playgroud)

我的问题是,当我尝试调用manager_account_path(account)我的规范时,出现以下错误:

ActionController::RoutingError:
   No route matches {:action=>"show", :controller=>"manager_accounts", :id=>...
Run Code Online (Sandbox Code Playgroud)

如果我这样称呼它,main_app.manager_account_path(account)那么它会成功,但我真的很想避免每次都指定它。有什么方法可以设置这个,我可以使用我的 url_helpers ,这样如果引擎中不存在路由,它将回退到基本应用程序?

rspec ruby-on-rails rails-engines

5
推荐指数
1
解决办法
1174
查看次数

标签 统计

html ×1

rails-engines ×1

rspec ×1

ruby-on-rails ×1