레일을 시작하기 때문에 이것은 매우 기본적인 질문입니다.Rails3 : 다른 컨트롤러에서 렌더링
보기/홈/index.html.haml :
%p
This is the home page...!
- if current_user
- else
= render :template => 'user_sessions/new'
user_sessions_controller :
class UserSessionsController < ApplicationController
before_filter :require_no_user, :only => [:new, :create]
before_filter :require_user, :only => :destroy
def new
@user_session = UserSession.new
end
def create
@user_session = UserSession.new(params[:user_session])
if @user_session.save
flash[:notice] = "Login successful!"
redirect_back_or_default user_controls_url
else
render :action => :new
end
end
def destroy
current_user_session.destroy
flash[:notice] = "Logout successful!"
redirect_back_or_default home_url
end
end
이 코드를 사용하여 홈페이지에서 로그인 폼 (authlogic)을 렌더링하기 위해 노력하고 있어요
보기/user_sessions/new.html.haml
= form_for @user_session, :url => {:action => "create"} do |f|
= f.error_messages
%div
= f.label :login
= f.text_field :login
%div
= f.label :password
= f.password_field :password
%div
= f.check_box :remember_me
= f.label :remember_me
%div
= f.submit "Login"
ActionView::Template::Error (undefined method `model_name' for NilClass:Class):
1: = form_for @user_session, :url => {:action => "create"} do |f|
2: = f.error_messages
3: %div
4: = f.label :login
app/views/user_sessions/new.html.haml:1:in `_app_views_user_sessions_new_html_haml___182031841_97682750'
app/views/home/index.html.haml:6:in `_app_views_home_index_html_haml__679857083_97787190'
는 무슨 내가 잘못을하고있는 중이 야, 나는 그것을 어떻게 해결합니까 : 나는 홈페이지를 방문 할 때 17,451,515,
모델/user_session.rb
class UserSession < Authlogic::Session::Base
def to_key
new_record? ? nil : [ self.send(self.class.primary_key) ]
end
httponly true
secure true
end
, 나는거야?
도움을 주셔서 감사합니다.
나는 분명히 뭔가 잘못하고 있습니다. 이제 작동합니다! 고마워요 !! – suruen