Hej! Przerabiam sobie http://guides.rubyonrails.org/v4.0.8/getting_started.html i czasami zdarza mi się, że nie rozumiem fragmentu kodu.
A. W config/routes.rb “resources : posts” - może mi ktoś to dokładnie wytłumaczyć na chłopski rozum, co tutaj się właściwie dzieje po wpisaniu tego? Czemu mi to nie działa jak tego nie ma? Rozumiem to mniej więcej w taki sposób, że deklaruje, że klasa “post” będzie jakoś oddziaływać z bazą danych, ale nie wiem czy to jest poprawne…
B. kod w controller:
class PostsController < ApplicationController
def new
end
def create
@post = Post.new(post_params)
@post.save
redirect_to @post
end
def show
@post = Post.find(params[:id])
end
private
def post_params
params.require(:post).permit(:title, :text)
end
end
a) po co mi @ przy klasie post, co by było gdyby tego nie było - do czego to służy?
b) @post = Post.find(params[:id]) - “params[:id]” - o co chodzi z tymi parametrami i czemu jak kiedyś próbowałem wpisać co innego niż :id to mi wywalało błąd
c) o co chodzi z tym “private”, gdzieś wyczytałem, że metody mogą być public, private i protected. Tylko co to dokładnie znaczy?
C. Co to jest config/database.yml (co to w ogóle za format), bo baza danych jest np. w db/development.sqlite3
D. Stworzyłem pare postów przez formularz, który łączył się z bazą danych sqlite3. Otworzyłem bazę danych w Database Browser for SQLite i widzę dla tabeli posts, title typ varchar(255). Dlaczego mogę wyświetlić więcej niż 255 znaków? Myślałem, że jest to ograniczenie. Jak nie ograniczenie, to co to jest? (wiem, że mogę zrobic validates, ale chodzi mi konkretnie o to), tak samo mogę wyświetlić na stronie www przy pomocy deklaracji też więcej niż 255 znaków posta.
http://www.tutorialspoint.com/sql/sql-data-types.htm
Mam nadzieję, że nikt nie będzie się urażony, że pytam tak wprost o tyle rzeczy na raz (zamiast np. tworzyć wiele tematów) albo nie jest to zbyt banalne…
Dziękuję za każda pomocną odpowiedź
Pozdrawiam!