我有以下代码片段运行最新版本的x-ray npm模块。
我期望填充Meta和Metatags元素,但是当我打印出obj时它们不是。我做错了什么?
def create
@order = Order.find(params[:order_id])
@customer = @order.customer
@message = current_user.messages.create(
body: message_params[:body],
order_id: @order.id
)
respond_to do |format|
if @message.save
format.html { redirect_to @message, notice: 'Message was successfully created.' }
format.js
end
end
答案 0 :(得分:0)
为meta设置选择器的方式基本上让xray寻找:
<meta>
<meta name="@val" />
<meta description="@val" />
<meta name="@val" />
<meta description="@val" />
</meta>
因此可以采用相同的替代方案:
x('http://www.rte.ie', {
title: 'title',
metaname: 'meta@name',
metadescription: 'meta@content'
}]),
meta: 'meta'
})(function (err, obj) {
console.log(obj);
})
如果您正在寻找多个名称/描述,只需将整个东西放在方括号中即可。
那,或者使用head标签作为选择器进行搜索:
x('http://www.rte.ie', 'html'{
title: 'title',
meta: x('head', [{
name: 'meta@name',
description: 'meta@content'
}])
}]),
meta: 'meta'
})(function (err, obj) {
console.log(obj);
})