2017-05-19 2 views
0

Ich versuche, den Wert angezeigt haben gewählt, aber es scheint nicht zu funktionieren. Irgendwelche Ideen? Hierwählen Sie die Option funktioniert nicht in Schienen

ist der Code:

<label>Apply to <%= statement_display_name.downcase %>:</label> <%= 
    f.select(:statement_id, 
    options_for_select(@client.statements.unpaid.collect { |statement| 
    [statement_display_name + " #{statement.number_with_prefix} # 
    {statement.created_or_bill_date.to_date} - # 
    {number_to_currency(statement.outstanding_amount)}"]}), :selected 
    => f.object.statement_id)%> 
+1

Können Sie näher auf "scheint nicht zu arbeiten"? –

+0

wählt die Option nicht automatisch mit der Anweisungs-ID aus, sondern ruft stattdessen den Standardwert zurück, der der erste ist. – gerzon

Antwort

0

Sie vorbei ein Array als die Optionen, aber Sie werden einen Hash your_string => statement_id stattdessen brauchen, um diese Arbeit zu machen.

Im Moment beziehen sich die Optionen nicht auf die Anweisungs-ID als Wert. Sie übergeben es ein Array von [[some_string], [some_string]], während Sie wahrscheinlich brauchen {some_string => statement_id, some_other_string => statement_id}

+0

Vielen Dank für Ihre Antwort, es war hilfreich, das Problem herauszufinden. Diese sortiert es aus: <% = select_tag: statement_id, options_for_select (@ client.statements.unpaid.collect {| Erklärung | [statement_display_name + " # {statement.number_with_prefix} # {statement.created_or_bill_date.to_date} - # {Zahl_zur_Währung (statement.outstanding_amount)} "]}, Parameter [: statement_id]), prompt:" ----- "%> – gerzon

+0

Cool! Du solltest deine Frage damit beantworten und sie als Antwort markieren :) – ttrmw

Verwandte Themen