50 Experience
0 Lessons Completed
0 Questions Solved


Hi Everone,
i am trying to create one to one relationship with ruby on rails5.

  1. I ahve created the Dubject model in the below format class Subject < ApplicationRecord has_one :page
    scope :visible, lambda { where(:visible => true) } scope :invisible, lambda { where(:visible => false) } scope :sortedASC, lambda {order ("position ASC")} scope :sortedDESC, lambda {order ("position DESC")} scope :newest_first, lambda {order ("created_at DESC")} scope :search, lambda {|query| where(["name LIKE ?", "%#{query}%"])} end
    1. I have created the page model in the below format.

class Page < ApplicationRecord
belongs_to :subject

I am able to save the subject record. When i create the page object for page model and assigning to the subject. i am getting the below error.

  1. subject=Subject.find(5)!

Adding new recrord to the page table and assingning the object referrence to Subject model

  1.>"First page", :permalink=> 'first', :position=>1)

  2. first_page
    Error message:

(0.5ms) BEGIN
(0.0ms) ROLLBACK
ActiveRecord::RecordNotSaved: Failed to save the new associated page.
from (irb):49

Could any one help me fix this error.


logo Created with Sketch.

Screencast tutorials to help you learn Ruby on Rails, Javascript, Hotwire, Turbo, Stimulus.js, PostgreSQL, MySQL, Ubuntu, and more. Icons by Icons8

© 2023 GoRails, LLC. All rights reserved.