Sto tentando di includere un accesso (nome utente/password) nell'intestazione del mio application.html.erb. Sto ottenendo questo errore:Rails 3 esegue il rendering parziale da un altro controller (errore: ActionView :: MissingTemplate)
Missing partial /login with {:handlers=>[:rjs, :builder, :rhtml, :erb, :rxml], :locale=>[:en, :en], :formats=>[:html]} in view paths "/app/views"
Questo sta accadendo quando faccio questa chiamata nel mio application.html.erb:
<%= render '/login' %>
'/ login' è definito nel mio routes.rb come:
match '/login' => "sessions#new", :as => "login"
UPDATE: ecco il mio controller di sessioni:
class SessionsController < ApplicationController
def create
if user = User.authenticate(params[:email], params[:password])
session[:user_id] = user.id
user.last_login = Time.now
user.save
redirect_to root_path, :notice => "login successful"
else
flash.now[:alert] = "invalid login/password combination " # don't show pass + params[:password]
#render :action => "new"
redirect_to login_path, :notice => "wrong user pass"
end
end
def destroy
reset_session
redirect_to root_path, :notice => "successfully logged out"
end
end
Ho visto in altri post che questo può essere dovuto alla mancata definizione di una variabile in un'azione controller, ma poiché questa è una sessione, ed è in application.html.erb (application_controller.rb), non lo sono certo come si fa Qualcuno sa come fare questo? Grazie!
dove si trova esattamente il vostro parziale? E, perché stai assegnando un percorso percorsi nel tuo rendering? – prasvin
il partial è in views/sessions/new.html.erb. il motivo per cui sto usando '/ login' nella mia chiamata al rendering è perché ho pensato che renderebbe il partial view/sessions/new.html.erb. – botbot
vedere la risposta aggiornata – prasvin