Meu caros,
Criei uma crud com os dados do Usuario (login,senha,nome) via scaffold.
Criei um controller Login só pra fazer autentição através de uma pesquisa simples no banco como está no código abaixo :
class LoginController < ApplicationController
#exibe a tela de login
def entrada
#render text: "Tela de login"
respond_to do |format|
format.html # login.html.erb
end
end
# verifica se login/senha sao validos
def valida
@usuario = Usuario.where(["login=? and senha=?" , params[:login], params[:senha] ])
if @usuario.persisted?
redirect_to "/usuarios"
else
@mensagem="Usuario nao cadastrado"
render action: "entrada"
end
end
end
O Model do Usuario está assim:
class Usuario < ActiveRecord::Base
attr_accessible :data_nascimento, :login, :nome, :senha
end
Ocorre que após fazer a pesquisa do usuário, não consigo acessar qualquer método para verificar se o usuário pesquisado é válido (p. ex
usuario.persisted?
ou usuario.nome
(neste ultimo cheguei a criar um método acessor mais não resolveu) dizendo que o método não está definido em Usuario (testei no rails console e ele reconhece)
Será que só posso acessar os métodos de um model no seu controller correspondente, isto é só posso manipular Usuario em UsuarioController ? Ok, isso quebra o MVC mas não é possível ???