Я новичок в Rails и немного растерялся отношениями has_one и has_many.Использование has_many отношения для сохранения записей
У меня есть две модели - USER и LOCATION.
У каждого ПОЛЬЗОВАТЕЛЯ есть место, а МЕСТОПОЛОЖЕНИЕ может принадлежать многим ПОЛЬЗОВАТЕЛЯМ.
Итак, я создал это так:
class User < ActiveRecord::Base
belongs_to :location
end
class Location < ActiveRecord::Base
has_many :users
end
Теперь, когда я хочу, чтобы создать нового пользователя и сохранить место, как я должен это делать? Это так?
@user = User.new
@user.name = params[:name]
@loc = Location.new
@loc.zip = params[:zip]
@loc.save
@user.location = @loc
@user.save
Это не правильно и не работает для меня. Любая помощь или указатели будут оценены.
Рельсовые книги указывают только, как создать эти ассоциации. Не о том, как сохранить записи с этими ассоциациями.
Она должна быть работа когда вы меняете'@user.loc = loc 'на'@user.location = loc' – onurozgurozkan
Вам нужно сказать, как он терпит неудачу. Что такое сообщение об ошибке? Кроме того, каковы столбцы таблиц? Вы создали 'location_id' в таблице' users'? –
У вас есть location_id как поле пользователя? – rovermicrover