我是TypeScript的新手,试图玩它.但我面临着一个有线问题.当我尝试String
使用+
运算符连接两个类型时,它会给出一个错误
运算符'+'不能应用于类型'String'和'String'
我的代码快照是
var firstName: String = 'Foo';
var lastName: String = 'Bar';
var name = firstName + lastName;
Run Code Online (Sandbox Code Playgroud)
如果我使用string
替代 String
或添加额外的''
工作正常.我检查过,在JavaScript中我们可以使用+
两个String
对象然后它为什么在TypeScript中显示错误?是bug还是功能?我肯定错过了什么.细节解释赞赏.
我有点好奇要知道,以下两种方法之间有什么区别吗?
使用self在类方法中调用类方法
class Test
def self.foo
puts 'Welcome to ruby'
end
def self.bar
self.foo
end
end
Run Code Online (Sandbox Code Playgroud)
Test.bar
#欢迎来到红宝石
在没有self的类方法中调用类方法
class Test
def self.foo
puts 'Welcome to ruby'
end
def self.bar
foo
end
end
Run Code Online (Sandbox Code Playgroud)
Test.bar
#欢迎来到红宝石
我正在使用turbolinks-ios和Rails变体开发iOS应用程序.
在我的iOS应用程序,我设置自定义用户代理iPadApp
和检测on Rails的application controller
使用request.user_agent.try(:index, 'iPadApp')
设置variant
到tablet
(因为观点一样foo.html+tablet.haml
).
我的应用程序工作正常,现在我正在尝试为我的应用程序编写功能测试,但无法正确设置用户代理.我试过这篇帖子实际上是stackoverflow但是我发现它没有设置request.user_agent
而是用(page.driver.browser.header(key, value)
)设置查询参数request.params
.
在我的控制器测试中,我只是request.user_agent = 'iPadApp'
用来设置工作正常的用户代理.
如何配置测试请求以便我可以使用request.user_agent.try(:index, 'iPadApp')
?
谢谢你的帮助.
我只是想知道Rubymethods
和之间到底有什么区别public_methods
?来自RubyMonk 分析部分
对象上的methods方法允许我们访问对象及其祖先上可用的公共方法列表。这相当于使用 public_methods。它们返回属于该对象的所有实例方法和类方法以及该对象的祖先上可访问的方法。如果您想忽略祖先并将列表限制为仅接收者,您可以将 false 传递给 public_methods(false)。
出于好奇,我也打电话methods(false)
返回不同的输出
public_methods(false)
我的示例代码和输出:
p String.methods.size
p String.public_methods.size
p String.methods(false).size
p String.public_methods(false).size
p String.public_methods(false) - String.methods(false)
Run Code Online (Sandbox Code Playgroud)
标准输出:
235
235
3
19
[:json_create, :yaml_tag, :const_missing, :allocate, :new, :superclass, :cattr_reader, :cattr_writer, :cattr_accessor, :class_attribute, :superclass_delegating_accessor, :descendants, :subclasses, :duplicable?, :json_creatable?, :to_yaml]
Run Code Online (Sandbox Code Playgroud)
从上面的输出我只是看到methods
和public_methods
不一样,但无法找出它们之间的确切区别。
我正在使用wicked_pdfpdf
从html
我的rails项目生成.它正在渲染,template
但我无法打印header/footer
部分.下面是我的代码,只打印template
部分
render pdf: "pdf_name",
layout: 'application',
template: 'reports/show',
formats: [:html],
margin: { top: 10, bottom: 10, left: 10, right: 10 },
disable_javascript: true,
show_as_html: params[:debug],
header: {
html: { template: 'shared/header' },
spacing: 10
},
footer: {
html: { template: 'shared/footer' },
spacing: 30,
line: true
}
Run Code Online (Sandbox Code Playgroud)
如果我尝试使用WickedPdf.new.pdf_from_string render_to_string
它显示Failed to load PDF document
错误甚至简单WickedPdf.new.pdf_from_string('<html><body><h1>Hello There!</h1></body></html>')
不起作用.
我试过用render_to_string_with_wicked_pdf, render_with_wicked_pdf
但没有成功.我的Rails版本是3.2.19
,wicked_pdf
宝石版本1.1.0 …
ruby ×2
capybara ×1
html ×1
javascript ×1
rspec3 ×1
turbolinks ×1
typescript ×1
wicked-pdf ×1
wkhtmltopdf ×1