Stworzyłem koszyk do którego moge dodawać produkty.
W jaki sposób najlepiej byłoby wyświetlić je najlepiej jako lista, i jeśli jest ich więcej niż jeden to kolejne egzemplarze byłyby wyświetlane jako element listy.
Np:
3x produkt będzie wyświtlany jako
produkt
produkt
produkt
inny produkt
Chodzi mi tu o możliwości wydruku takich informacji. Jak najlepiej byłby to zrobić?
Pozdrawiam
class CartsController < ApplicationController
def show
@order_items = current_order.order_items
end
end
ten show to tak naprawdę akcja index w OrderItemsController … CartsController można wyrzucić i w routes dodać:
# routes.rb
get '/cart', to: 'OrderItems#index', as: 'cart'
class OrderItemsController < ApplicationController
def index
@order_items = current_order.order_items
end
def create
[...]
Brakuje kontroli gdzie chcesz wylądować w razie nie udanego zapisu w akcjach OrderItemsController#create i OrderItemsController#update
podpowiedź dla akcji create
def create
@order = current_order
@order_item = @order.order_items.new(order_item_params)
if @order.save
# udało się utworzyć item
session[:order_id] = @order.id
# tu jakiś redirect_to ... tam gdzie chciałbyś być po udanym dodaniu produktu
# pewnie spowrotem na produkcie :)
else
# tutaj @order.save zwróciło false coś poszło nie tak
# więc pewnie render 'index'
end
end
to rozwiązanie nie jest doskonałe - proponuje zrobić testy tego kontrolera
i dla create, update puścić śmieci w params quantity: 'abc', product_id: 'cba'
podobnie dla destroy wysłać coś nietypowego id: 'chocolate' lub nieistniejący numer
Dzięki za wytyczne! Sprawdzę
W jaki sposób najłatwiej wyświetliłbyś listę z koszyka? Potrzebuje po prostu wygenerować ciągiem listę do wydruku. Czy dodać nowy widok w carts_items?
W jaki sposób to powinno być zrobione wg. Ciebie?
jeżeli chcesz się bawić w link na stronie “wersja do druku” to odzielny css/widok - tą drogą nigdy nie szedłem trzeba by obgooglać “printable css” “design for printing” etc.
wydruk jak dla mnie to plik PDF otworzy się na każdym urządzeniu mobilnym i wydrukuje wszędzie
Są narzędzia rubiego drukujące HTML/CSS => PDF ale te rozwiązania nie były tak precyzyjne jak Prawn gdy szukałem czegoś do wydruku, potrzebowałem precyzji do drukowania “wycinanek”, polubiłem Prawna i jego mogę polecić - teraz ma całkiem ładny manual
Myślę, że niezależnie od Twoich aktualnych potrzeb Prawn jest wart poznania, bo w wielu stackach go znajdziesz