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