2015-06-24 3 views
0

Я пытаюсь поместить свой процент в индикаторный индикатор Bootstrap. Поплавок очень хорошо передается в представление, но по какой-то причине индикатор выполнения Bootstrap не хочет его читать. Я собираюсь начать с того, что догадываюсь, что я не избегаю тега style.Rails escape-символы для двух уровней котировок

Вид:

<div class="progress"> 
    <div class="progress-bar" role="progressbar" aria-valuenow="#{ <% @app.completion_status %> }" aria-valuemin="0" aria-valuemax="100" style="width: '#{raw(<%= number_to_percentage(@app.completion_status) %>)}';"> 
    <%= @app.completion_status %>% 
    </div> 
</div> 

Пристальный взгляд:

style="width: '#{raw(<%= number_to_percentage(@app.completion_status) %>)}';" 

The value attempting to be passed and converted to a percentage is: `33.3333333333333` (one third) 

Контроллер:

def set_completion 
    @app = App.find(params[:id]) 

    @app.update_attribute(:completion_status, 

    (((@app.elements.where(completion: true).count)/(@app.elements.count).to_f) * 100) 

) 
end 

ответ

1

На первый взгляд я вижу, что вы используете интерполяцию ruby ​​вне ярлыков erb, что может быть проблемой. Edit :: Попробовать ниже

style="width: <%= number_to_percentage(@app.completion_status) %>" 

Ниже один я только что построенный таким образом попытаться следовать этому и сохранить интерполяции внутри тегов ERB!

<div class="progress-bar progress-bar-info progress-bar-striped" 
role="progressbar" aria-valuenow="<%[email protected]_usage%>" aria-valuemin="0" 
aria-valuemax="100" style="width: <%[email protected]_usage%>%"> 
+0

@BrianKunzip Не повезло с 'style =" width <% = number_to_percentage (@ app.completion_status)%> ";' Я боюсь:/Это довольно запутанно – Nickdb93

+0

Вы помещали двоеточие между шириной и вашими тегами ERB? Должно быть style = "width: <%= %>" –

+0

@BrianKunzip Наконец-то он работал с 'style =" width: <% = [email protected]_status%> "' Два вопроса. 1: Вы имели в виду добавить '%' вне тега erb здесь: 'style =" width: <% = @ email_usage%>% ">'? 2: Как это работает? Я думал, что метки эрфов нужны, чтобы избежать котировок? – Nickdb93

1

Вы пробовали переключение ' и "?

<div class="progress"> 
    <div class="progress-bar" role="progressbar" aria-valuenow="#{ <% @app.completion_status %> }" aria-valuemin="0" aria-valuemax="100" style='width: "#{raw(<%= number_to_percentage(@app.completion_status) %>)}";'> 
    <%= @app.completion_status %>% 
    </div> 
</div> 
+0

нет кости Я боюсь:/Я даже изменил значение '@ app.brief' (строка) на' 60% 'и ничего не получил. – Nickdb93

Смежные вопросы