[ruby-it] Aiuto! Ho un problema con l'esecuzione di JS
Andrea Pavoni
apeacox a gmail.com
Ven 12 Feb 2010 16:35:53 CET
da quello che vedo, stai usando javascript per:
- segnalare il login corretto/errato
- redirezionare l'utente
a questo punto ti chiedo: ma non è meglio NON usare javascript per
queste cose? (doppia negazione, sigh!)
puoi risolvere il problema usando l'oggetto flash:
flash[:notice] = "Login corretto..."
oppure
flash[:error] = "Utente/Password errati"
a quel punto nel template (meglio nel layout se lo usi spesso) utilizzi
qualcosa di simile:
<%- flash.each do |name, msg| -%>
<%= content_tag :div, msg, :id => "flash_#{name}" %>
<%- end -%>
nel CSS definisci due selettori:
#flash_notice { }
#flash_error { }
tieni presente che questo metodo funziona anche se JS non è attivato sui
client, ed è anche più pulito :D
quanto a RJS, non ho ancora avuto bisogno di usarlo, quindi non conosco
eventuali problematiche ;)
ciao,
A.
On 12/02/2010 15:42, Cristiano Xxx wrote:
> Grazie Andrea, nel codice che ho postato qui sotto viene utilizzato
> proprio il metodo redirect_to, ma dall'oggetto page... non so se questo
> ha a che fare con il wrap "try {... }catch(e)" che contiene ogni JS che
> viene interpretato come plain-text
>
>
> Questo è il codice all'interno di studente_controller.rb dell'action
> login
>
> # Metodo utilizzato per l'operazione di "log in" da parte dell'utente
> di tipo Studente
> def login
> session_cleanup
>
> info = remote_check(params[:studente][:matricola],
> params[:studente][:password])
> if info.nil?
> render :update do |page|
> page.alert "Password scorretta!"
> end
> else
> studente = info
> student_info = Studentinfo.new(studente)
> session[:utente] = student_info
> session[:expires_at] = 60.minutes.from_now
> session[:user_type] = 'Studente'
> render :update do |page|
> page.redirect_to :controller => 'admin/info', :action =>
> 'home_studente'
> end
> end
> end
>
More information about the Ml
mailing list