이것은 기본적으로 자원이없는 형식이지만 다른 예제는 작동하지 않는 것 같습니다. 나는 마법과 formtastic을 사용하고 있습니다. formtastic 새 사용자 양식에 대한 잘 작동하지만, 난 새 세션을 만들 수없는 것 ...마력과 함께 Formtastic 사용. 로그인 양식을 어떻게 설정합니까?
<%= semantic_form_for 'sessions', :url => sessions_path, :method => :post do |f| %> <%= f.inputs do %> <%= f.input :email %> <%= f.input :password %> <% end %> <%= f.buttons %> <% end %>
이 가까이이지만,
<input id="sessions_email" name="sessions[email]" type="text" />
를 출력 내가 양식을 제출하면 대신
<input id="sessions_email" name="email" type="text" />
의 그래서, 나는 TEMPL를 얻을 수 오류없는 먹었
`템플릿
없는 템플릿 세션을 생성/응용 프로그램/{로 만들 누락 : 핸들러 => [: ERB : 빌더 : 커피] : 형식 => [: HTML, : locale => [: en, : en]}. '
나는 단지 폼의'name '속성을 설정하는 방법을 알아야 할 것 같지만 해킹 비트처럼 보입니다. 이것을하기위한 '의미 론적'방법이 더 있습니까? 도와 줘서 고마워.
편집 : 여기에 요청에 따라 컨트롤러 코드 ...
class UsersController < ApplicationController
before_filter :authenticate, :except => [:show, :new, :create]
before_filter :correct_user, :only => [:edit, :update]
before_filter :admin_user, :only => :destroy
def index
@title = "All users"
@users = User.paginate(:page => params[:page])
end
def show
@user = User.find(params[:id])
@microposts = @user.microposts.paginate(:page => params[:page], :per_page => 6)
@title = @user.name
end
def new
@user = User.new
@title = 'Sign up'
end
def create
@user = User.new(params[:user])
if @user.save
Notifier.registration_confirmation(@user).deliver
sign_in @user
flash[:success] = "Welcome!"
redirect_to @user
else
@title = "Sign up"
render 'new'
end
end
def edit
@user = User.find(params[:id])
@title = "Edit user"
end
def update
@user = User.find(params[:id])
if @user.update_attributes(params[:user])
flash[:success] = "Profile updated."
redirect_to @user
else
@title = "Edit user"
render 'edit'
end
end
def destroy
User.find(params[:id]).destroy
flash[:success] = "User Removed"
redirect_to users_path
end
def following
@title = "Following"
@user = User.find(params[:id])
@users = @user.following.paginate(:page => params[:page])
render 'show_follow'
end
def followers
@title = "Followers"
@user = User.find(params[:id])
@users = @user.followers.paginate(:page => params[:page])
render 'show_follow'
end
private
def has_valid_signup_code?(code)
code == valid_signup_code
end
def correct_user
@user = User.find(params[:id])
redirect_to(root_path) unless current_user?(@user)
end
def admin_user
redirect_to(root_path) unless current_user.admin?
end
end
덕분입니다!
문제는 이름이 아닌 입력의, 괜찮을 것입니다. 세션 컨트롤러의 생성 작업에서 수행하는 작업에 관한 내용 일 것입니다. 코드를 제공 할 수 있습니까? – tbk
코드가 제공됩니다. 다시 한 번 감사드립니다. – afxjzs
당신은 아마도 또한 sessions_controller.rb가 있습니까? 이 코드는 더 흥미로울 것입니다;) – tbk