首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用中间商(无法将0转换为字符串)生成主题时出错,/usr/local/bin/ middleman :23:in‘`load’

使用中间商(无法将0转换为字符串)生成主题时出错,/usr/local/bin/ middleman :23:in‘`load’
EN

Stack Overflow用户
提问于 2013-08-14 07:51:06
回答 1查看 453关注 0票数 0

我试图用ruby (css、js等)构建一个主题,但我有一个错误,我花了几个小时来解决它和阅读文档,但没有成功。

下面是我在执行以下操作时遇到的错误:包exec中间商构建-详细。

代码语言:javascript
复制
== Request: /pages/forms/forms.html
       error  build/pages/forms/forms.html
can't convert nil into String
/var/lib/gems/1.9.1/gems/activesupport-3.2.14/lib/active_support/core_ext/string/output_safety.rb:114:in `concat'
/var/lib/gems/1.9.1/gems/activesupport-3.2.14/lib/active_support/core_ext/string/output_safety.rb:114:in `safe_concat'
/var/lib/gems/1.9.1/gems/middleman-core-3.1.4/lib/middleman-more/core_extensions/default_helpers.rb:63:in `block in content_tag'
/var/lib/gems/1.9.1/gems/middleman-core-3.1.4/lib/middleman-more/core_extensions/default_helpers.rb:63:in `each'
/var/lib/gems/1.9.1/gems/middleman-core-3.1.4/lib/middleman-more/core_extensions/default_helpers.rb:63:in `content_tag'
/var/lib/gems/1.9.1/gems/middleman-core-3.1.4/lib/vendored-middleman-deps/padrino-helpers-0.11.2/lib/padrino-helpers/tag_helpers.rb:140:in `safe_content_tag'
/var/lib/gems/1.9.1/gems/middleman-core-3.1.4/lib/vendored-middleman-deps/padrino-helpers-0.11.2/lib/padrino-helpers/form_helpers.rb:646:in `select_tag'
/home/polylan/Documents/dev/core-admin-release/source/pages/forms/forms.html.erb:60:in `block in singletonclass'
/home/polylan/Documents/dev/core-admin-release/source/pages/forms/forms.html.erb:65530:in `instance_eval'
/home/polylan/Documents/dev/core-admin-release/source/pages/forms/forms.html.erb:65530:in `singletonclass'
/home/polylan/Documents/dev/core-admin-release/source/pages/forms/forms.html.erb:65528:in `__tilt_16623600'
/var/lib/gems/1.9.1/gems/tilt-1.3.7/lib/tilt/template.rb:144:in `call'
/var/lib/gems/1.9.1/gems/tilt-1.3.7/lib/tilt/template.rb:144:in `evaluate'
/var/lib/gems/1.9.1/gems/tilt-1.3.7/lib/tilt/template.rb:77:in `render'
/var/lib/gems/1.9.1/gems/middleman-core-3.1.4/lib/middleman-core/core_extensions/rendering.rb:273:in `render_individual_file'
/var/lib/gems/1.9.1/gems/middleman-core-3.1.4/lib/middleman-core/core_extensions/rendering.rb:150:in `render_template'
/var/lib/gems/1.9.1/gems/middleman-core-3.1.4/lib/middleman-core/sitemap/resource.rb:150:in `block in render'
/var/lib/gems/1.9.1/gems/activesupport-3.2.14/lib/active_support/notifications.rb:125:in `instrument'
/var/lib/gems/1.9.1/gems/middleman-core-3.1.4/lib/middleman-core/util.rb:60:in `instrument'
/var/lib/gems/1.9.1/gems/middleman-core-3.1.4/lib/middleman-core/application.rb:196:in `instrument'
/var/lib/gems/1.9.1/gems/middleman-core-3.1.4/lib/middleman-core/sitemap/resource.rb:16:in `instrument'
/var/lib/gems/1.9.1/gems/middleman-core-3.1.4/lib/middleman-core/sitemap/resource.rb:121:in `render'
/var/lib/gems/1.9.1/gems/middleman-core-3.1.4/lib/middleman-core/core_extensions/request.rb:252:in `process_request'
/var/lib/gems/1.9.1/gems/middleman-core-3.1.4/lib/middleman-core/core_extensions/request.rb:202:in `block in call!'
/var/lib/gems/1.9.1/gems/middleman-core-3.1.4/lib/middleman-core/core_extensions/request.rb:201:in `catch'
/var/lib/gems/1.9.1/gems/middleman-core-3.1.4/lib/middleman-core/core_extensions/request.rb:201:in `call!'
/var/lib/gems/1.9.1/gems/middleman-core-3.1.4/lib/middleman-core/core_extensions/request.rb:187:in `call'
/var/lib/gems/1.9.1/gems/rack-1.5.2/lib/rack/builder.rb:138:in `call'
/var/lib/gems/1.9.1/gems/rack-1.5.2/lib/rack/urlmap.rb:65:in `block in call'
/var/lib/gems/1.9.1/gems/rack-1.5.2/lib/rack/urlmap.rb:50:in `each'
/var/lib/gems/1.9.1/gems/rack-1.5.2/lib/rack/urlmap.rb:50:in `call'
/var/lib/gems/1.9.1/gems/middleman-core-3.1.4/lib/middleman-more/extensions/minify_css.rb:48:in `call'
/var/lib/gems/1.9.1/gems/rack-1.5.2/lib/rack/lint.rb:49:in `_call'
/var/lib/gems/1.9.1/gems/rack-1.5.2/lib/rack/lint.rb:37:in `call'
/var/lib/gems/1.9.1/gems/rack-1.5.2/lib/rack/builder.rb:138:in `call'
/var/lib/gems/1.9.1/gems/rack-test-0.6.2/lib/rack/mock_session.rb:30:in `request'
/var/lib/gems/1.9.1/gems/rack-test-0.6.2/lib/rack/test.rb:230:in `process_request'
/var/lib/gems/1.9.1/gems/rack-test-0.6.2/lib/rack/test.rb:57:in `get'
/var/lib/gems/1.9.1/gems/middleman-core-3.1.4/lib/middleman-core/cli/build.rb:138:in `render_to_file'
/var/lib/gems/1.9.1/gems/middleman-core-3.1.4/lib/middleman-core/cli/build.rb:280:in `block in execute!'
/var/lib/gems/1.9.1/gems/middleman-core-3.1.4/lib/middleman-core/cli/build.rb:277:in `each'
/var/lib/gems/1.9.1/gems/middleman-core-3.1.4/lib/middleman-core/cli/build.rb:277:in `execute!'
/var/lib/gems/1.9.1/gems/middleman-core-3.1.4/lib/middleman-core/cli/build.rb:199:in `invoke!'
/var/lib/gems/1.9.1/gems/thor-0.18.1/lib/thor/actions.rb:95:in `action'
/var/lib/gems/1.9.1/gems/middleman-core-3.1.4/lib/middleman-core/cli/build.rb:64:in `build'
/var/lib/gems/1.9.1/gems/thor-0.18.1/lib/thor/command.rb:27:in `run'
/var/lib/gems/1.9.1/gems/thor-0.18.1/lib/thor/invocation.rb:120:in `invoke_command'
/var/lib/gems/1.9.1/gems/thor-0.18.1/lib/thor.rb:363:in `dispatch'
/var/lib/gems/1.9.1/gems/thor-0.18.1/lib/thor/base.rb:439:in `start'
/var/lib/gems/1.9.1/gems/middleman-core-3.1.4/lib/middleman-core/cli.rb:77:in `method_missing'
/var/lib/gems/1.9.1/gems/thor-0.18.1/lib/thor/command.rb:29:in `run'
/var/lib/gems/1.9.1/gems/thor-0.18.1/lib/thor/command.rb:128:in `run'
/var/lib/gems/1.9.1/gems/thor-0.18.1/lib/thor/invocation.rb:120:in `invoke_command'
/var/lib/gems/1.9.1/gems/thor-0.18.1/lib/thor.rb:363:in `dispatch'
/var/lib/gems/1.9.1/gems/thor-0.18.1/lib/thor/base.rb:439:in `start'
/var/lib/gems/1.9.1/gems/middleman-core-3.1.4/lib/middleman-core/cli.rb:22:in `start'
/var/lib/gems/1.9.1/gems/middleman-core-3.1.4/bin/middleman:18:in `<top (required)>'
/usr/local/bin/middleman:23:in `load'
/usr/local/bin/middleman:23:in `<main>'

以下是如下结果: bundle安装

代码语言:javascript
复制
Using i18n (0.6.5) 
Using multi_json (1.7.9) 
Using activesupport (3.2.14) 
Using chunky_png (1.2.8) 
Using coffee-script-source (1.6.3) 
Using execjs (1.4.0) 
Using coffee-script (2.2.0) 
Using fssm (0.2.10) 
Using sass (3.2.10) 
Using compass (0.12.2) 
Using ffi (1.9.0) 
Using tilt (1.3.7) 
Using haml (4.0.3) 
Using hike (1.2.3) 
Using json (1.7.7) 
Using kramdown (1.1.0) 
Using rb-fsevent (0.9.3) 
Using rb-inotify (0.9.1) 
Using rb-kqueue (0.2.0) 
Using listen (1.2.3) 
Using bundler (1.3.5) 
Using rack (1.5.2) 
Using rack-test (0.6.2) 
Using thor (0.18.1) 
Using middleman-core (3.1.4) 
Using middleman-more (3.1.4) 
Using sprockets (2.10.0) 
Using sprockets-helpers (1.0.1) 
Using sprockets-sass (1.0.1) 
Using middleman-sprockets (3.1.4) 
Using uglifier (2.1.2) 
Using middleman (3.1.4) 
Your bundle is complete!
Use `bundle show [gemname]` to see where a bundled gem is installed.

我的Gemfile

代码语言:javascript
复制
source 'http://rubygems.org'

gem "middleman", "~>3.1.4"
# Live-reloading plugin
gem "middleman-livereload", "~> 3.1.0"
gem 'json', '~> 1.7.7'

gem 'therubyracer'

if RUBY_PLATFORM =~ /linux/i
  gem 'rb-inotify', '~> 0.9'
else
  gem 'rb-inotify'
end

我使用的是:Ruby1.9.1 ruby1.9.1-dev middleman (最后一个版本) nodejs therubyracer execjs

更新1 :

多亏了j03w注释,forms.html.erb中的这部分代码确实出现了错误

代码语言:javascript
复制
<li>
  <label>Dropdown with search:</label>
  <%= select_tag :colors, options: @colorList.shuffle, class: "chzn-select" %>
</li>

<li>
  <label>Dropdown menu:</label>
  <%= select_tag :colors, options: @colorList.shuffle, class: "uniform" %>
</li>

下面是我的config.rb的一部分,其中数组是:

代码语言:javascript
复制
@release = false

@colorList = ["Aero blue","Air Force blue (RAF)","Air Force blue (USAF)","Air superiority blue","Alabama Crimson","Alice blue","Alizarin crimson","Alloy orange","Almond","Amaranth","Amazon","Amber",
              "SAE/ECE Amber (color)","American rose","Amethyst","Android Green","Anti-flash white","Antique brass","Antique bronze","Antique fuchsia "]

如果你需要更多的信息,可以随意询问。

如果您有相同的问题或任何关于错误的想法,任何帮助都将是非常感谢的。

提前谢谢。

延恩

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-16 14:29:05

J03w是对的。看起来它与您要传递给select_tag中的选项的@变量有关。

我搞不懂,但我想出了一个替代方案,它可以很好地使用ruby每一个循环来创建select列表选项。

代码语言:javascript
复制
<ul>
    <li>
        <label>Dropdown with search:</label>
        <select name="color-search" id="color-search" class="chzn-select">
            <% @colorList.shuffle.each do |color| %>
                <option value="<%= color %>"><%= color %></option>
            <% end %>
        </select>
    </li>

    <li>
        <label>Dropdown menu:</label>
        <select name="colors" id="colors" class="uniform">
            <% @colorList.shuffle.each do |color| %>
                <option value="<%= color %>"><%= color %></option>
            <% end %>
        </select>
    </li>
</ul>

我会继续玩,看看我是否能找出你的最初问题,但希望这能帮助你继续在同一时间的其他事情。

更新1:看起来中间商不喜欢将数组传递给select_tag的options参数,这很奇怪,因为它应该工作得很好。起初,我以为是数组中的数据被存储在@colorList中,但是所有的数据都被检查出来了。

我甚至尝试将其简化为中间人医生中使用的示例,但仍然得到了零字符串错误。我很困惑。

也许是最新版本的中间商(我使用的是3.1.4)的一个问题?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18226020

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档