2016-08-19 92 views
0

我有一些ruby和HAML代码,通过在屏幕上显示两个按钮来工作。我想改变这些单选按钮。这是目前显示两个按钮的代码:将HAML按钮变成单选按钮

.row 
    .col-md-6 
    .input-group 
     = render @audience, opportunity: :opportunity 

什么获取呈现出如下所示:

<div class="row"> 
<div class="col-md-6"> 
<a class="btn btn-lg btn-block btn-default audience-tab active" data-value="consumer" data-remote="true" href="/opportunities/229/edit?audience=consumer">Consumer</a> 
</div> 
<div class="col-md-6"> 
<a class="btn btn-lg btn-block btn-default audience-tab " data-value="business" data-remote="true" href="/opportunities/229/edit?audience=business">Business</a> 
</div> 
</div> 

我不需要那么HREF =东西。不知道为什么那里。但是我想要呈现的是两个单选按钮,其中标有“受众类型”的标签显示为“消费者”和“商家”。像这样的东西应该工作:

Audience Type: 
    <input type="radio" name="audience" value="consumer"> Consumer 
    <input type="radio" name="audience" value="business"> Business 

回答

0

当我看到你使用引导,所以HAML代码应该是这样的:

%p Audience Type: 
.radio 
    %label 
    %input{name: "audience", type: "radio", value: "consumer"} 
    Consumer  
.radio 
    %label 
    %input{name: "audience", type: "radio", value: "business"} 
    Business 

如果@audienceAudience类的实例,你必须将HAML代码为app/views/audiences/_audience.haml模板。

+0

所以这个工程和呈现正确。但它只是静态的。对不起,我没有提到这是一个编辑表单。因此,在用户输入值并点击保存之后,下次他们拉起页面时,应该记住他们选择了“消费者”并且已经预先检查了它。我希望我发布的第一部分代码能够让人了解如何设置并使其动态化。我真的不熟悉这个具体的含义。 =呈现@听众,机会::机会 – Thread7

+0

您需要将此代码放入'form'标签并创建操作以将此数据保存到您的控制器中。 – zolter