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 に戻せばいいのかな。 どうやってー。