El día 13 de mayo de 2010 15:32, Franco Brusatti <[email protected]> escribió:
> Hola lista,
> alguien ha utilizado alguno de estos plugins [1] [2] con exito? Hace rato
> que estoy con esto y la verdad que ya no tengo idea que puede estar
> pasando.
> * Cuando uso el primero no tengo ningun error, pero nada pasa cuando hago
> click encima del "supuesto editor"
> Este es el tag que me genera
> <div tag="div" rel="/admin/items/76" id="item_66_quantity"
> class="editable">1000</div>
> usando esto
> <%= edit_in_place_for([:admin, quote.item], :quantity) %>
> he includio el .js en el header y he definido el helper como lo indica en
> la
> wiki http://wiki.github.com/nakajima/nakatype/better-edit-in-place-editable-js
> Trabjo en linux y lo estoy probando con FF y google-chrome. Disculpas que
> no puedo adjuntar mas detalles, pero es que nada pasa. Gracias.
>
Perdón a la lista, se me escapó el dedo a medio escribir!
Primero verficá si tenés algún error de Javascript, a ver si te falta
incluir alguno.
Yo uso el viejo in_place_editor, que utiliza effects y controls
.... tirate esto en tu app helper ...
# In place editor!
def in_place_editor(field_id, options = {})
function = "new Ajax.InPlaceEditor("
function << "'#{field_id}', "
function << "'#{url_for(options[:url])}'"
js_options = {}
js_options['cancelText'] = %('#{options[:cancel_text]}') if
options[:cancel_text]
js_options['okText'] = %('#{options[:save_text]}') if options[:save_text]
js_options['loadingText'] = %('#{options[:loading_text]}') if
options[:loading_text]
js_options['rows'] = options[:rows] if options[:rows]
js_options['cols'] = options[:cols] if options[:cols]
js_options['externalControl'] = options[:external_control] if
options[:external_control]
js_options['loadTextURL'] = "'#{options[:load_text_url]}'" if
options[:load_text_url]
js_options['clickToEditText'] =
%('#{options[:click_to_edit_text]}') if options[:click_to_edit_text]
js_options['ajaxOptions'] = options[:options] if options[:options]
js_options['callback'] = "function(form) { return
#{options[:with]} }" if options[:with]
function << (', ' + options_for_javascript(js_options)) unless
js_options.empty?
function << ')'
javascript_tag(function)
end
Luego en el controlador ...
def set_note
@model = Model.find( params[:id] )
@model.note = params[:value]
@model.save!
render :text => @model.note
end
def get_note
render :text => Model.find( params[:id] ).note
end
Y en tu vista, simplemente usas algo así ...
<div id="note_inplace" class="inPlaceDiv" ><%= h @model.note %></div>
<%= in_place_editor "note_inplace",
:url => { :action => :set_note, :id => @model },
:load_text_url => url_for({ :action => :get_note, :id => @model }),
:rows => 4, :cols => 20,
:loading_text => "Loading ...",
:save_text => "Ok".t, :cancel_text => "Cancel".t %>
--
Silvio Quadri
_______________________________________________
Ruby mailing list
[email protected]
http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar