Это в основном не требующая ресурсов форма, но другие примеры, похоже, не работают.Я использую колдовство и 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" />
, поэтому, когда я отправляю форму, я получаю шаблон с ошибкой
`Templateотсутствует
Отсутствует шаблон сессий / создание, применение / создание с {: handlers => [: erb,: builder,: coffee],: format => [: 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
спасибо!