比較當前行與Ruby的前一行ActiverRecord結果我需要做出與OPTGROUP一個選項列表,從這樣的查詢結果:on Rails的
<select>
<optgroup label="here one of the results of query">
<option>rest of results</option>
</optgroup>
</select>
我需要的是這樣的(或更好)。例如在PHP中:
<?php
$sql= "query here";
$result=$connection->createCommand($sql)->queryAll(); //to execute the query and save in the variable result
for ($i=1; $i <count($result) ; $i++)
{
$a = $i-1
if ($result[$a]["optiongroup"] == $result[$i]["optiongroup"])
{
// agree to the optiongroup with an option
}
else
{
// close the optiongroup and starts a new option group
}
}
?>
我有這樣的:
控制器:
@componentes = Tipo.find_by_sql("SELECT t1.tip_titulo as pieza, t2.tip_id, t2.tip_titulo FROM `tipos` t1
LEFT JOIN tipos t2 ON (t1.tip_id = t2.tip_id_padre)
WHERE t1.tip_id_padre IN (38)")
在查詢結果顯示是這樣的:
pieza tip_id tip_titulo
Fuente de poder 41 Ventilador
Fuente de poder 42 Conector de alimentacion
Memoria Ram 43 Placa
Memoria Ram 44 Reloj
所以選擇必須出現在這樣:
<select>
<optgroup label="Fuente de poder">
<option value="41">Ventilador</option>
<option value="42">Conector de alimentacion</option>
</optgroup>
<optgroup label="Memoria RAM">
<option value="43">Placa</option>
<option value="44">Reloj</option>
</optgroup>
</select>
如何用Rails 5.0.1解決這個問題? 問候。
嗨,THX的答案,但我需要顯示的選項組及其選項選擇當我完成像PHP代碼的比較表明,像在HTML –
我編輯我的回答給你一個線索最後一個例子在如何做到這一點,你應該沒有問題的應用條件(我看你有你的PHP代碼中的一些條件),並相應地渲染。希望這可以幫助。正如你所看到的,你基本上在Ruby中嵌入了Ruby代碼,就像你在php中做的那樣。 –
我發佈了我的視圖和optgroup的問題,看看 –