未定義の予期せぬ$:これは、コードの実行ルビー:(evalの):1:構文エラー、私は次の構文エラーになっています
(eval):1: syntax error, unexpected $undefined
$#<MenuBuilder:0x007fccee84e7f8> = #<MENUBUILDER:0X007FCCEE84E7F8>
^
です:
_main_menu.html.hamlを
#main-menu
= menu do |m|
= m.submenu "Products" do
= m.item "Products", Product
builders_helper.rb
module BuildersHelper
def menu(options = {}, &block)
MenuBuilder.new(self).root(options, &block)
end
end
男性u_builder.rb
これは、rootメソッドでキャプチャ()の呼び出しに失敗しclass MenuBuilder
attr_accessor :template
def initialize(template)
@template = template
end
def root(options, &block)
options[:class] = "jd_menu jd_menu_slate ui-corner-all"
content_tag :ul, capture(self, &block), options
end
def item(title, url, options = {})
content_tag :li, options do
url = ajax_route(url) unless String === url
url = dash_path + url if url.starts_with?("#")
link_to title, url
end
end
def submenu(title, options = {}, &block)
content_tag :li do
content_tag(:h6, title.t) +
content_tag(:ul, capture(self, &block), :class => "ui-corner-
all")
end
end
end
:
content_tag :ul, capture(self, &block), options
自己のMenuBuilderのインスタンスを参照し、私はブロックは、他のパラメータとして渡されることを肯定しています。ブロック文にputs文を投げると?それは実行されますが、上記のcontent_tag行は渡されません。
異なるコードブロックを別々のコードブロックに分けてください。私たちが読みやすくするために、それらの間に改行を入れてください。ありがとう。 –
okコードブロックを再フォーマットしました – JohnMerlino