2017-02-14 6 views
0

各組織には.show.html.erbページがあります。組織は、ページの色をカスタマイズすることができます。我々が持っている私たちのスキーマで各ショーページの色をカスタマイズする - ruby​​ on rails

create_table "organizations", force: :cascade do |t| 
    t.string "theme" 
end 

を私は(生産でローカルに動作しますが、ではない)、このカスタマイズを可能にするために、当社の「レイアウト/ application.html.erb」のページに以下を追加してみました:

<style media="screen"> 
    .theme { 
    background: #<%= @organization.theme %> !important; 
    } 
</style> 

私はRailsにはかなり新しいです...私はこれについて正しく考えていますか?誰かがこれを実装するための良い方法についてのアイデアを持っていますか?

答えて

2

これを達成するには、おそらくyieldブロックが必要です。 layouts/application.html.erb

http://guides.rubyonrails.org/layouts_and_rendering.html#understanding-yield

もっとcontent_for上:http://api.rubyonrails.org/classes/ActionView/Helpers/CaptureHelper.html#method-i-content_for

<% content_for :theme, @organization.theme %> 

が理解yieldのドキュメントを参照してください:各ビューで

<style media="screen"> 
    .theme { 
    background: #<%= content_for?(:theme) ? yield(:theme) : default_theme %> !important; 
    } 
</style> 

関連する問題