-
Notifications
You must be signed in to change notification settings - Fork 58
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add partial solution #266
base: master
Are you sure you want to change the base?
Add partial solution #266
Conversation
Chodzi oczywiście o zadanie 6. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Dzięki za przesłanie rozwiązania 🎉 Niestety nie udało mi się odpalić aplikacji przez brak kontrolerów i błędy o których napisałem w code review. Mimo wszystko 👏 za chęci.
@@ -0,0 +1,5 @@ | |||
class Category < ApplicationRecord | |||
has_many :category_products |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
do wcięć w rubym powinno się używać 2 spacji
@@ -0,0 +1,4 @@ | |||
class Customer < ApplicationRecord | |||
has_many :products, dependant: :destroy |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@@ -0,0 +1,4 @@ | |||
class CategoryProduct < ApplicationRecord | |||
belongs_to :category | |||
belong_to :product |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
literówka - belongs_to
create_table :products do |t| | ||
t.string :name, null: false | ||
t.decimal :price, precision: 10, scale: 2, null: false | ||
t.index :name, unique: true |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Jeśli tworzymy unikalny index na kolumnie name
to dobrze by było napisać też walidację w odpowiadającym modelu. To sprawia, że otrzymujemy błędy z modelu, które jesteśmy w stanie odpowiednio obsłużyć i poinformować o nich użytkownika. Obecnie, jeśli spróbujemy stworzyć produkt z name
, który jest już w bazie dostaniemy coś takiego:
t.index ["name"], name: "index_customers_on_name", unique: true | ||
end | ||
|
||
create_table "products", force: :cascade do |t| |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Zabrakło migracji, która dodaje klucz obcy customer_id
do tej tabeli 😢 To powoduje, próba przypisania produktu customerowi zawsze kończy się błędem.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Wielkie dzięki za rzucenie na to okiem i zwrócenie uwagi na moje błędy. Jeszcze raz dzięki za Twój czas!
Zadanie zrobione niestety tylko w połowie.
Pozdrawiam