Я из среды Java / PHP и пытаюсь изучать Rails, но нахожу "условные" вещи действительно хитрыми (возможно, не помогает, что я в основном делаю это без доступа к сети, когда напоезд).Это меня действительно озадачило - я прочитал руководство по основам ассоциации и некоторые учебные пособия, но я все еще не могу исключить это исключение.
Модели:
class JobSeeker < ActiveRecord::Base
attr_accessible :fullName, :dob, :roleTagline, :expTagline, :phoneNumber,
:country, :email
belongs_to :user
end
class User < ActiveRecord::Base
attr_accessor :password
attr_accessible :username, :email, :password, :password_confirmation
# other unrelated stuff ...
has_one :job_seeker, :dependent => :destroy
end
ПользовательКонтроллер:
class UsersController < ApplicationController
def create
@user = User.new(params[:user])
@job_seeker = @user.job_seeker.create(params[:user])
if @user.save
sign_in @user
flash[:success] = "Welcome to the Sample App!"
redirect_to @user
else
@title = "Sign up"
render 'home/index'
end
end
Исключение:
NoMethodError в UsersController # create
неопределенный метод `create 'для nil: NilClass
Проблема в ноле: NilClass, я думаю.Как будто Rails не знает: job_seeker - это JobSeeker или что-то в этом роде.Я попытался переименовать его на все под солнцем (: job_seekers,: jobSeeker и т. Д.), Но я немного растерялся.
В таблице базы данных для JobSeeker есть целочисленный столбец с именем user_id.
Я использую Rails 3.1 для Windows.
Я уверен, что это что-то простое, но я очень признателен за любую помощь.Большое спасибо!