我有content_tag與「TD」,我必須在紅寶石上編寫代碼。我用下面的方式寫了:我如何包含紅寶石代碼content_tag
content_tag :td, class: "text-right<%= ' text-danger' if section.sum_control != (section.sum_self_summary + section.sum_sub_summary) %>", style: "width: 150px"
但是沒有工作,怎麼決定這個問題呢?
我有content_tag與「TD」,我必須在紅寶石上編寫代碼。我用下面的方式寫了:我如何包含紅寶石代碼content_tag
content_tag :td, class: "text-right<%= ' text-danger' if section.sum_control != (section.sum_self_summary + section.sum_sub_summary) %>", style: "width: 150px"
但是沒有工作,怎麼決定這個問題呢?
我會添加一個方法來確定其狀態,因爲國際海事組織視圖不應該包含依賴於模型屬性的複雜條件:
# in the Section model
def sums_ok?
sum_control == (sum_self_summary + sum_sub_summary)
end
並以輔助的方法來確定的CSS類:
def css_class_for_section(section)
css = ['text-right']
css << 'text-danger' unless section.sums_ok?
css.join(' ')
end
比起content_tag
可能看起來像:
content_tag(:td, class: css_class_for_section(section), style: 'width: 150px')
而且我覺得很有道理去除風格從td
標記並將其移入樣式表。
content_tag :td, class: "text-right#{ ' text-danger' if section.sum_control != (section.sum_self_summary + section.sum_sub_summary) }", style: "width: 150px"
是您的內容標籤裏面<%=%>,如果是的話,我認爲你應該使用插值#{}因爲如果條件
可能是你應該做這樣的
cls = section.sum_control != (section.sum_self_summary + section.sum_sub_summary) ? 'text-right text-danger' : 'text-right'
content_tag(:td, class: cls, style: 'width: 150px')
希望這有幫助
拜託,你能證明它是怎麼做到的?我從來沒有做過 –
@АлександрМустафин參見上面我已經將它們添加到插值 – rank