基本的に、ボタンの背景色を、「編集」ビューにアクセスしているオブジェクトの色属性によって決定されるフォームの背景色の暗い色合いにしたいです。現在、私は使用しています
<div class="formPageBG" id="formPageBG" style="background-color: <%=@student.color%>">
訪問時に背景の色を動的に設定します。ただし、ボタンで生成された同じインラインスタイルプロパティにアクセスする方法がわかりません
<div class="action">
<%= f.submit "Update" %>
</div>
このボタンは .action:input を介して CSS でスタイル設定されていますが、CSS シートから @student 変数にアクセスできません。データをJavascriptに渡す、またはJavascriptからSASS変数を使用するなど、これを回避するためのさまざまな方法を検討しましたが、Ruby変数をCSSシートに適切に取得する方法がわかりません。.erb ファイルであり、変数が既に存在するため、インライン スタイルに頼りました。私はいくつかの異なる構文を試しました
<%= f.submit "Update", style: 'background-color:<%=@student.color%>'%>
<%= f.submit "Update", :style => 'background-color:<%=@student.color%>'}%>
<%= f.submit "Update", {:style => 'background-color:<%=@student.color%>;'}%>
<%= f.submit "Update", {:style => 'background-color:<%=@student.color%>'}%>
しかし、それらは機能していません。また、このルビー スニペットが作成する HTML をコピーしてインラインでスタイリングしようとしましたが、どちらもうまくいかないようでした (私のフォームの残りの部分は form_for によって生成されるため、うまくいかなかったかもしれません)。したがって、CSS シートから @student 変数にアクセスする方法 (理想的です) か、.erb ファイルでこのボタンをインライン スタイルにする方法が必要です。また、最終的に背景色のスタイルを設定できた場合、CSS を介してその色の暗い色合いを動的に生成する方法はありますか? インライン スタイルで filter:contrast または filter:brightness を使用できますか?