RJS で Element.setStyle するメソッドってないんすか?
module ActionView module Helpers module PrototypeHelper class JavaScriptGenerator module GeneratorMethods def set_style(id, style = {}) record "Element.setStyle(#{id.to_json}, #{style.to_json})" end end end end end end
深い。使いどころは、
app/controllers/users_controller.rb: def create if @user.save render :update do |page| page.redirect_to :action => "list" end end end app/views/users/create.rjs: page.replace_html :error_messages, error_messages_for("user") @user.errors.each{}.each_key do |key| # ちょっと間違った使い方 page.set_style "user_#{key}", :border => "2px red solid" end
つか、これでは、正しい値を入れ直した後も赤い枠が取れないなー。 最初に page.select("input") でかき集めて、style を default に戻せばいいのかな。 どうやってー。