如果我理解正確的話您的問題,一些模型定義了一個標誌。在這種情況下,我不會惹惱CSS - 或者至少不會使用資產文件,因爲它們預計是靜態的。
可以定義佈局的標誌:app/viev/layouts/application.html.erb
只需創建有這樣的事情:
<head>
..
<style type="text/css">
#header { background-image: url("<%= @logo_path || 'logo.jpg' %>"); }
</style>
或
<head>
<% if @logo_path %>
<style type="text/css"> #header { .... } </style>
<% end %>
然後,在某些控制器或動作或一些看法,只需設置實例變量@logo_path
如果您想讓徽標與默認值不同。
在您的靜態CSS中,您可以定義默認背景圖像,並確保佈局中的此規則比靜態資產中的規則更重要。如果有疑問,請將!important
子句添加到佈局中的規則。
當然,如果談到動態你的意思是JavaScript,然後你可能只是包括類似於此的腳本,並直接在給定元素的onclick
屬性標識路徑,在某種程度上:
<span onclick="replace_logo('<%= model.logo_path %>')">....</span>
功能replace_logo
不會難寫。
你可以發表一些代碼嗎? –
或你想要的一些截圖 –