Coredata chained Relationship [closed] - ios

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.

Related

Best way to create a FAQ section in Rails [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 4 years ago.
Improve this question
I have 300 questions and answers and each of the questions fall in one of four categories. My question is what would be the best way to create web searchable pages for each 300 Q&A.
My first thought is to just do it simple and create one model. The one model will have question:string answer:text category:string and then input all the questions and answers in the database.
My second choice would be to create a category model and then a model for questions and answers.
My third choice is to create a JSON file with the questions and answers formatted then call on it through Javascript.
What would be the best way to achieve this while allowing search engines to rank each question?
I would say, go with single model Faq which contains all the required info i.e. question, answer, and category.
You don't need a separate model for categories if:
The categories list is predefined (in which case you can use enum type field), AND
Each category has only a name and no other attributes.
About JSON file, it will be difficult to add/remove FAQs in that. You will probably need to push your code after every change. With a model Faq in application, you can always do CRUD on FAQs easily.
So, the final structure should be like this:
class Faq
# field :question
# field :answer
# field :category, type: :enum, values: %w[<category-names>]
end
And for rendering FAQs category-wise, you can always group on category.

Rails: find a element with not empty references to another table [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
Consider Item model that may have zero or more variations, how can I found first item which have some variations?
class Item
has_many :variations
end
So item.variations is not nil.
Something like:
Item.with_not_nil_variations.first
If your item has many variations, what you want is a SQL INNER JOIN.
In rails you can do it using joins :
Item.joins(:variations).first
The generated SQL will contain an INNER JOIN, meaning that it will return the Items having a variation. Before the first you can add on order(), that will allow you to have more control on the first items with variations that will be returned.
Do not use includes as it is translated to a left outer join, and it is definitely not what you want.
An inner join should do this for you:
Item.joins(:variations).first

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.

Access all submodels from a ActiveRecord relation [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
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)

Dynamic forms and models in rails [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 3 years ago.
Improve this question
I have been trying to figure out how eBay would create their forms in rails. (FYI I know that they don't use rails). So far I have come to the conclusion that their could be two models
Posts "<- would contain the basics every post contains"
-
Post_id
User_id
Category_id
Photos
Title
condition
Location
Price
This is pretty simple, but lets say a user wants to sell a car, the form would ask them for the mileage, model, year etc. But in contrast, if a user wants to sell a table, the form would not ask for the information it would generally ask for a car. Is their a way to accomplish this is rails without having to create many models and associating them with Posts?
I guess the simplest scenario would be thus:
"Category has a name" (this will keep "car", "bird", "soul", whatever they sell on e-bay)
"Property is made of a name, a value and a category"
"Product has many Properties"
Each product will have N properties belonging to a certain category.
Use-case (new category):
When you create a new category, you can create properties belonging to it, or add properties from existing other categories (composition)
Use-case (new product):
When you want to create a new product, you select a category and properties belonging to that category will be added dynamically to your product.

Resources