我在面板上使用了一个组合框,据我所知,我们只能添加带有文本的项目
comboBox.addItem('item text');
Run Code Online (Sandbox Code Playgroud)
但有时我需要使用项目和项目文本的一些值,如在html中选择:
<select><option value="item_value">Item Text</option></select>
Run Code Online (Sandbox Code Playgroud)
有没有办法在组合框项目中设置值和标题?
现在我使用哈希来解决这个问题.
我正在构建一个在迁移中使用外键的rails引擎.
add_foreign_key "theblog_content_nodes",
"theblog_content_statuses", column: :content_status_id
Run Code Online (Sandbox Code Playgroud)
从版本4.2rails开始支持外键,但在我们使用foreignergem 之前.如果我们尝试使用foreigner与rails 4.2和更新,我们得到一个错误.
所以,因为我要从4.0.1开始支持rails,所以我必须在我的gemspec中使用条件依赖.
我在这里找到了可能的解决方案,但我不知道如何检查gemspec中的rails版本.
# sidekiq-spy.gemspec
if RUBY_VERSION >= '2.1'
spec.add_development_dependency "curses", "~> 1.0"
end
Run Code Online (Sandbox Code Playgroud)
注意:
我有另一个临时解决方案:我只是检查Foreigner迁移中的可用性.如果它不可用我只是不创建外键:
if defined?(Foreigner)
add_foreign_key "theblog_content_nodes",
"theblog_content_statuses", column: :content_status_id
end
Run Code Online (Sandbox Code Playgroud)
但是我想foreigner为旧的rails版本添加依赖项.
今天我尝试创建一个桌面快捷方式来启动 Skype 并使用 pipelogin。
我创建了以下快捷方式:
[Desktop Entry]
Encoding=UTF-8
Type=Application
Name=Skype2
Name[en_US]=Skype2
Icon=skype
Exec=echo login password | skype --dbpath=/home/kont/.Skype2 --pipelogin
Run Code Online (Sandbox Code Playgroud)
但是当我尝试启动它时什么也没发生。然后我尝试在没有管道登录的情况下启动 Skype:
Exec=echo skype --dbpath=/home/kont/.Skype2
Run Code Online (Sandbox Code Playgroud)
它工作正常。所以我决定原因是使用 pipe |。为了批准这个版本,我使用以下代码创建了 login_skype.sh 文件:
Exec=echo login password | skype --dbpath=/home/kont/.Skype2 --pipelogin
Run Code Online (Sandbox Code Playgroud)
并更改了快捷方式,以便它启动 login_skype.sh 并且它也可以正常工作。
有什么想法在第一个快捷代码版本中出了什么问题?
当我尝试使用 Nokogiri::XML::Builder 创建 XML 文档时:
builder = Nokogiri::XML::Builder.new do |xml|
xml.my_tag({key: :value})
end
Run Code Online (Sandbox Code Playgroud)
我得到以下 XML 标签:
<my_tag key="value"/>
Run Code Online (Sandbox Code Playgroud)
它是自封闭的,但我需要完整的表格:
<my_tag key="value"></my_tag>
Run Code Online (Sandbox Code Playgroud)
当我在节点(甚至是空格)内传递一个值时:
xml.my_tag("content", key: :value)
xml.my_tag(" ", key: :value)
Run Code Online (Sandbox Code Playgroud)
它生成完整的标签:
<my_tag key="value">content</my_tag>
<my_tag key="value"> </my_tag>
Run Code Online (Sandbox Code Playgroud)
但是如果我传递一个空字符串或nil,甚至是一个空块:
xml.my_tag("", key: :value)
Run Code Online (Sandbox Code Playgroud)
它生成一个自闭合标签:
<my_tag key="value"/>
Run Code Online (Sandbox Code Playgroud)
我相信应该有一些属性或其他东西可以帮助我,但简单的谷歌搜索没有找到答案。
我在“使用 Nokogiri 构建空白 XML 标签? ”中找到了一个可能的解决方案,但它将所有标签保存为非自关闭标签。