2013-10-29 56 views
0

我与HAML不注入在正确的地方内容挣扎我想要的结果(初级),这里是HAML的一部分:红宝石HAML没有得到

%div.form-group{:id => 'container'} 
- if [email protected]? 
    %p= t('users.data_name') 
    = link_to t('users.delete'), 'javascript:void(0)', :class => 'delete', :data => {:id => @data.id} 
    %div.holder.thick 
    = image_tag @data.path 
- else 
    = link_to t('users.upload'), 'javascript:void(0)', :class => 'btn btn-large' 
    %div.holder 
    = image_tag '/assets/missing_image.png' 

的问题是, holderholder thick不在我的容器内,但在外面。为什么是这样?我没有正确调整什么?

+1

缩进休息http://html2haml.heroku.com/ – apneadiving

+0

代替'%div.holder',使用'.holder',并用#container替换'%div.form-group {:id =>'container'}'。 form-group','%div.holder.thick'应该是'.holder.thick' – apneadiving

+0

http://haml2erb.herokuapp.com/ – apneadiving

回答

3

是的,if应该缩进,如果其内容是要进入#container

#container.form-group 
    - if [email protected]? 
    %p= t('users.data_name') 
    = link_to t('users.delete'), 'javascript:void(0)', :class => 'delete', :data => {:id => @data.id} 
    .holder.thick 
     = image_tag @data.path 
    - else 
    = link_to t('users.upload'), 'javascript:void(0)', :class => 'btn btn-large' 
    .holder 
     = image_tag '/assets/missing_image.png' 
0

如果你的容器%div.form-group那么你只是为了让HAML明白它是股利,你的内容应该

内部,它会看起来像

%div.form-group{:id => 'container'} 
    - if [email protected]? 
    %p= t('users.data_name') 
    = link_to t('users.delete'), 'javascript:void(0)', :class => 'delete', :data => {:id => @data.id} 
    %div.holder.thick 
     = image_tag @data.path 
    - else 
    = link_to t('users.upload'), 'javascript:void(0)', :class => 'btn btn-large' 
    %div.holder 
     = image_tag '/assets/missing_image.png'