這基本上是一種無資源形式,但其他示例似乎不起作用。我使用魔法和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]}。 `
我想我只需要知道如何設置具體的形式的'名稱'屬性,但這似乎有點破解。有沒有更多'語義'的方式來做到這一點?請幫助謝謝。
編輯:這裏的每個請求的控制器代碼...
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