Skip to content
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

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open

Add partial solution #266

wants to merge 1 commit into from

Conversation

ArlBiern
Copy link

Zadanie zrobione niestety tylko w połowie.

Pozdrawiam

@ArlBiern
Copy link
Author

Chodzi oczywiście o zadanie 6.

@ahawrylak ahawrylak added the zad6 label Dec 11, 2018
@ahawrylak ahawrylak self-assigned this Dec 11, 2018
Copy link
Collaborator

@ahawrylak ahawrylak left a 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
Copy link
Collaborator

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
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

literówka, powinno być dependent 😉
screen shot 2018-12-11 at 15 43 59

@@ -0,0 +1,4 @@
class CategoryProduct < ApplicationRecord
belongs_to :category
belong_to :product
Copy link
Collaborator

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
Copy link
Collaborator

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:
screen shot 2018-12-11 at 15 51 15

t.index ["name"], name: "index_customers_on_name", unique: true
end

create_table "products", force: :cascade do |t|
Copy link
Collaborator

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.

Copy link
Author

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!

@ahawrylak ahawrylak added the ✓ Done in the summary it is considered as done label Dec 11, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
✓ Done in the summary it is considered as done zad6
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants