Ruby on Rails
Thursday, February 1, 2018
On Thursday, February 1, 2018 at 8:54:56 AM UTC-5, Colin Law wrote:
On 1 February 2018 at 13:49, fugee ohu <fuge...@gmail.com> wrote:
On Thursday, February 1, 2018 at 3:51:37 AM UTC-5, Colin Law wrote:On 1 February 2018 at 07:30, fugee ohu <fuge...@gmail.com> wrote:I'm having find_or_create_by roll back on me in the console directly from the model I'm not providing an id, the mysql id column is autoincrementModel.find_or_create_by(person_id: 1, picture_id:37) What happens if you try and create a record (where there is not already a matching record) with only those fields?ColinSame thing It works only if I remove all the belongs_to from ModelHave you got any validations on the model?Can you show us the model code where it has the associations and validations?What do you see in the log when you try to do it?Colin--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-ta...@googlegroups.com .
To post to this group, send email to rubyonra...@googlegroups.com .
To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/ .aa095ea1-5568-402a-978f- 9c6f794a8eb6%40googlegroups. com
class Relationship < ApplicationRecord
belongs_to :picture
belongs_to :person
belongs_to :address
belongs_to :car
end
class Person < ApplicationRecord
has_many :real_estate_transactions
has_many :relationships
has_many :pictures, through: :relationships
has_many :addresses, through: :relationships
has_many :cars, through: :relationships
attr_accessor :address_id
attr_accessor :person_id
attr_accessor :car_id
attr_accessor :picture_id
def formatted_name
"#{last_name}, #{first_name}, #{middle_name}, #{name}"
end
end
class Picture < ApplicationRecord
validates :name, presence: true
has_many :relationships
has_many :people, through: :relationships
has_many :cars, through: :relationships
mount_uploader :name, PictureUploader
attr_accessor :person_id
attr_accessor :car_id
attr_accessor :picture_id
def formatted_name
"#{name}, #{id}"
end
end
rails c
2.3.3 :001 > Relationship.find_or_create_by(person_id: 1, picture_id: 10)
Relationship Load (144.3ms) SELECT `relationships`.* FROM `relationships` WHERE `relationships`.`person_id` = 1 AND `relationships`.`picture_id` = 10 LIMIT 1
(1.1ms) BEGIN
Picture Load (27.0ms) SELECT `pictures`.* FROM `pictures` WHERE `pictures`.`id` = 10 LIMIT 1
Person Load (5.0ms) SELECT `people`.* FROM `people` WHERE `people`.`id` = 1 LIMIT 1
(25.6ms) ROLLBACK
=> #<Relationship id: nil, person_id: 1, address_id: nil, real_estate_transaction_id: nil, car_id: nil, event_id: nil, picture_id: 10>
2.3.3 :002 >
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-talk+unsubscribe@googlegroups.com.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/dc85a890-8591-4543-b5de-1fce1662a64e%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment