Я пытаюсь создать приложение rails, где пользователь зарегистрируется, а затем сразу же получит указание заполнить профиль более подробной информацией.
В настоящее время я пытаюсь сделать это, имея оба *Модель 1003 * и profile
, с соотношением has_one/belongs_to
между двумя моделями.
У меня проблемы с create
профилем пользователя.Тесты не пройдены с undefined method
профилями для # when testing the creation, and using an automated profile builder called
sample_data.rake`:
namespace :db do
desc "Fill database with sample data"
task :populate => :environment do
Rake::Task['db:reset'].invoke
admin = User.create!(:name => "name name",
:email => "fakename@fake.com",
:password => "password",
:password_confirmation => "password")
admin.toggle!(:admin)
99.times do |n|
name = Faker::Name.name
email = Faker::Internet.email
password = "password"
User.create!(:name => name,
:email => email,
:password => password,
:password_confirmation => password)
end
User.all.each do |user|
User.profiles.create(:city => Faker::Address.city,
:state => Faker::Address.us_state_abbr,
...
)
end
end
end
Также не удается выполнить, у меня возникли проблемы с create
созданием профиля для пользователя.Тесты не пройдены с undefined method 'profiles'
profiles_controller.rb
это:
class ProfilesController < ApplicationController
before_filter :authenticate, :only => [:create, :edit]
def create
@profile = current_user.profiles.build(params[:profile])
if @profile.save
flash[:success] = "Profile Created!"
redirect_to root_path
else
render 'pages/home'
end
end
def edit
end
end
profile.rb
это
class Profile < ActiveRecord::Base
attr_accessible :city, :state, ...
belongs_to :user
validates :city, :presence => true
validates :state, :presence => true
...
end
Может кто-нибудь увидеть, что я делаю неправильно?Есть ли способ объединить все элементы, которые мне нужны, в разделе «пользователи», проверить наличие всей необходимой информации и сделать так, чтобы процесс регистрации состоял из двух страниц?
Другие предложения для этого?