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

Finish basic task6 #269

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

Finish basic task6 #269

wants to merge 1 commit into from

Conversation

freefrogs
Copy link

No description provided.

@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 rozwiązanie, wszystko działa okej 👍 Dla przyjemniejszego developmentu można dodać seedy, które odpala się komendą rails db:seed:

# db/seeds.rb

puts 'Creating customers'
customers = []
10.times do
  customers << Customer.create!(name: Faker::LordOfTheRings.character)
end

puts 'Creating categories'
categories = []
5.times do
  categories << Category.create!(name: Faker::GameOfThrones.house)
end

puts 'Creating products'
products = []
20.times do
  products << categories.sample.products.create!(price: rand(1..10_000))
end

puts 'Ordering products'
products.sample(15).each do |product|
  product.update!(customer: customers.sample)
end

puts 'Done!'


def create
@customer = Customer.create(customer_params)
if @customer.persisted?
Copy link
Collaborator

Choose a reason for hiding this comment

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

Zazwyczaj pisze się:

@customer = Customer.new(customer_params)
if @customer.save
...

class ProductsController < ApplicationController
def index
@customer = Customer.find(params[:customer_id])
@products = @customer.products.order(price: :desc)
Copy link
Collaborator

Choose a reason for hiding this comment

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

order(price: :desc) mogłoby stać się scope na modelu Product

@@ -0,0 +1,7 @@
class Product < ApplicationRecord
belongs_to :customer
Copy link
Collaborator

Choose a reason for hiding this comment

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

brak opcji optional: true powoduje, że nie można stworzyć produktu, który nie jest jeszcze przypisany do żadnego customera


def product_params
params.require(:product).permit(:price, :customer_id)
end
Copy link
Collaborator

Choose a reason for hiding this comment

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

ta metoda nie jest używana 😉

@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