Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 在haml下划线模板中插入javascript时出现奇怪错误_Ruby On Rails_Backbone.js_Haml_Underscore.js - Fatal编程技术网

Ruby on rails 在haml下划线模板中插入javascript时出现奇怪错误

Ruby on rails 在haml下划线模板中插入javascript时出现奇怪错误,ruby-on-rails,backbone.js,haml,underscore.js,Ruby On Rails,Backbone.js,Haml,Underscore.js,在haml下划线模板中确保javascript时出现奇怪错误 这非常有效: .button{ :id => "<%= 'class_name' %>" } 更新: 来自下划线模板引擎。因此,这不是雇员再培训局或任何类型的事情。我在生成haml时没有遇到错误,但我是通过javascript得到的。这应该可以 .button{:class => "#{class_name}"} 这应该行得通 .button{:class => "#{class_name}"} 假

在haml下划线模板中确保javascript时出现奇怪错误

这非常有效:

.button{ :id => "<%= 'class_name' %>" }
更新:

来自下划线模板引擎。因此,这不是雇员再培训局或任何类型的事情。我在生成haml时没有遇到错误,但我是通过javascript得到的。

这应该可以

.button{:class => "#{class_name}"}
这应该行得通

.button{:class => "#{class_name}"}

假设
.button{:id=>“}
正在工作,我假设您将
:escape\u attrs
设置为false,并且可能将
:attr\u wrapper
设置为
,这将产生以下输出:


给您带来麻烦的位,
.button{:class=>“”}
,将产生:


当Haml将
语法(
按钮
)中的
元素与属性散列(
)的类条目内容组合在一起时,会导致该问题.Haml将后者视为一个空格分隔的列表,添加
按钮
元素,然后对结果数组进行排序,生成您看到的输出。(将列表视为空格分隔的列表对“pure”有意义)但是当javascript框架以这种方式使用它时,它就会崩溃。排序的原因是为Haml的测试套件提供一致的类条目顺序。)

解决方法是不要同时使用
语法和属性散列中的
:class
项–只需使用
项:

%div{:class=>“按钮”}
产生:



另一种解决方法(您已经发现)是从下划线模板中删除空格,这样Haml将其视为单个实体,而不会将其拆分。

Given
.button{:id=>“”
正在工作,我假设您将
:escape\u attrs
设置为false,并且可能将
:attr\u wrapper
设置为
,这将产生以下输出:


给您带来麻烦的位,
.button{:class=>“”}
,将产生:


当Haml将
语法(
按钮
)中的
元素与属性散列(
)的类条目的内容组合在一起时,会导致该问题。Haml将后者视为一个空格分隔的列表,添加
按钮
元素,然后对结果数组进行排序,生成您看到的输出。(像这样将列表视为一个空格分隔的列表对于“纯”HTML来说是有意义的,但当javascript框架以这种方式使用它时,它会崩溃。排序的原因是为Haml的测试套件提供一致的类条目顺序。)

解决方法是不要同时使用
语法和属性散列中的
:class
项–只需使用
项:

%div{:class=>“按钮”}
产生:



另一个解决方法(您已经发现)是从下划线模板中删除空格,因此Haml将其视为单个实体,而不是将其拆分。

javascript正确返回
类名。
?因为在中可以添加类,看起来您忘记了
来自ERb,而不是Haml。这里不是erb,而是下划线模板。“class\u name”只是一个测试字符串,我用来复制我得到的错误。可能相关:javascript正确返回
class\u name
?因为在中可以添加类,看起来您忘记了
来自ERb,而不是Haml。这里不是erb,而是下划线模板。“class_name”只是一个测试字符串,我用来复制我得到的错误。可能相关:过于复杂了
.button{:class=>class_name}
就足够了-不需要使用带插值的字符串。这不是ruby/haml错误,而是javascript错误。我使用下划线模板引擎。太复杂了
.button{:class=>class_name}
就足够了-不需要使用带插值的字符串。这不是ruby/haml错误,而是javascript错误。我使用下划线模板引擎。谢谢你的精彩解释!针对常见问题的精益解决方案。感谢您的精彩解释!对常见问题的精简解决方案。
.button{:class => "#{class_name}"}