prabu

Joined

50 Experience
0 Lessons Completed
0 Questions Solved

Activity

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
end

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=Page.new(:name=>"First page", :permalink=> 'first', :position=>1)

  2. subject.page= 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.

Thanks
Prabu

logo Created with Sketch.

Ruby on Rails tutorials, guides, and screencasts for web developers learning Ruby, Rails, Javascript, Turbolinks, Stimulus.js, Vue.js, and more. Icons by Icons8

© 2020 GoRails, LLC. All rights reserved.