LoginEngine、UserEngineのレイアウト、スタイルシートを設定
いままで、自分の設定が十分でないため、以下の現象が出ていた。
- スタイルシートの設定がscaffoldのままなので、決して見易いとは言えない...。
- Roleの設定をする時に、all、noneのチェックボックスの一括処理が動作しない。
- パスワード変更でエラーを出したままキャンセルすると、そのエラーがいつまでも残った状態になる。
我慢すればいいことなのでずっと放っておいたが、本日、ちゃんと対策してみた。
app/views/layouts/user.rhtmlの設定
- login_engine、user_engineのスタイルシートを適用するようにした。
<html> <head> <title><%= controller.controller_name %>: <%= controller.action_name %></title> <%= engine_stylesheet "login_engine" %> <%= engine_stylesheet "user_engine" %> <%= engine_javascript "user_engine" %> </head> <body> <% for name in [:notice, :warning, :message] %> <%= "<p style=?"color: green?">#{flash[name]}</p>" if flash[name] %> <% end %> <%= yield %> </body> </html>
- 上記と同じ設定で、下記ファイルも作成する。
- app/views/layouts/role.rhtml
- app/views/layouts/permission.rhtml
それぞれのコントローラーに<% engine_javascript "user_engine" %>を適用したので、role/editの画面で、all/noneをクリックすれば、すべてチェックあり/なしの操作も動作するようになった。
-
-
- 同じ内容でuser、role、permissionそれぞれのレイアウトファイルを用意したが、本当は一つのファイルを共用したい...。
-
vendor/plugins/user_engine/public/stylesheets/user_engine.cssへの追記
- スタイルシートに3行追加した。テーブル全体の色、ヘッダーセルの色、データセルの色を指定しただけ。
...(途中省略)... table { background-color: lightgrey; } th { background-color: lavender; } td { background-color: whitesmoke; }
app/controllers/user_controller(user_engineからコピーしたファイル)への追記
パスワード変更でエラー表示が残り続けてしまう対策で、オレンジ色の1行を追記した。前回のエラー情報が残ってしまうので、errorsオブジェクトのクリアが必要なようだ。
...(途中省略)... def generate_filled_in get_user_to_act_on ### 以下1行追記 @user.errors.clear case request.method when :get render return true end return false end ...(途中省略)...