Access all submodels from a ActiveRecord relation [closed] - ruby-on-rails

Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 8 years ago.
Improve this question
I want to write something like this
User.groups.members.addresses
What I need is an array of all addresses which User has access to. If User is in two groups, each group has 2 unique members with unique addresses I want an array of 4 addresses
Using Ruby on rails 4

You should be able to add a scope to your address model, you just need to add some joins in there. Haven't tested this but it should be on the right track.
class Address
scope :by_user, -> user { joins(:member).joins(:group).where(user: {id: user.id})}}
end
usage:
Address.by_user(#user)

Related

Coredata chained Relationship [closed]

Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 7 years ago.
Improve this question
What is the best way to update or add data if relationships are chained.
I have my coredata designed like this:
I have 3 Entities
1) User To_Many Category
2) Category To_Many Item
3) Item To_One Category
User is required before adding a Category, and Category is required before adding an Item
Simple. Just set the to-one relationship, the corresponding inverse relationship will be set automatically by Core Data.
newItem.category = category
category.user = user
According to best practice, I am renaming the clumsy attribute names itemCategory, categoryUser, categoryInUser to simply category, user, categories respectively.

Rails scope join with another model scope? [closed]

Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 8 years ago.
Improve this question
In a situation i need to join the 4 scopes among the 4 scopes 3 are written in model(A) and one in another model(B) how to join those scopes?
those two models have HABTM relationship
Model A
scope 1
scope 2
scope 3
total_scope= scope1.scope2.scope3.scope4
end
Model B
scope 4
end
Your question isn't very well worded, but I think what you're asking is related to Active Record's merge feature:
class ModelA
scope :total_scope, -> { scope1.scope2.scope3.joins(:modelb).merge(ModelB.scope4)
end

Should I create two similar tables or one? [closed]

Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 9 years ago.
Improve this question
In my database I have flights wich are formed by two air tickets in both sides. So, to create flight object I should create two tickets in both sides. The tickets have field in database "flight direction" with two values: 1)"there" 2)"from". I can't figure out how to make form where i can create two tickets with different sides at one time.
You can achieve this by using a callback in your Flight model. This callback will be executed after the Flight is created (= initialized and saved to database).
class Flight
has_many :tickets
...
after_create :create_tickets
def create_tickets
tickets.create(flight_direction: 'from')
tickets.create(flight_direction: 'there')
end
end
This will automatically create two Ticket records in database that are associated with the Flight record.

Should I split this model and table? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 6 years ago.
Improve this question
I would like to create simple ResumeBank app.
Issue:
As user I would like to add only two Resumes.
Forms for this both Resumes are different with only two fields.
Resumes have 12 the same attributes but 2 are diferent.
Question:
Should I split that Resume model and tables to ex: PolishResume and EnglishResume, polish_remsumes and english_remsumes?
Or maybe should I use STI and create PolishResume < Resume and use one table.
What are disadvantages of splitting option?
Seems like classic inheritance should solve it
class ResumeBase{...}
class ResumeWith12Forms: public: ResumeBase{
//use options to determine which unique 2 forms to show
//options could be an enum or even boolean
ResumeWith12Forms(options){ };
}
class User{ std::vector< std::shared_ptr<ResumeBase> userResume; }

Simplifying limit and order AR query [closed]

Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 8 years ago.
Improve this question
Is there a simpler and shorter way to declare this in Rails?
Message.where(conditions).limit(10).order("created_at desc")
There isn't any way to make the code shorter, but you could add a scope if you want a better interface:
Message < ActiveRecord::Base
scope :my_scope, where(conditions).limit(10).order('created_at DESC')
end
Then you would simply query using Message.my_scope

Resources