theo như a biết thì hình như chưa có ai viết bằng tiếng Việt cả, trước anh cũng học từ cuốn Rails 5 ấy đấy =]],
chú cứ đọc thực hành theo nó,
sau đó tự mình làm lại cái project mà nó ví dụ ấy, tự làm không nhìn source,
chỉ cần chú tự mình làm lại được ngon hiểu hết những ký thuật trong ấy, a nghĩ chú đi nộp CV xin việc Ruby nơi nào cũng nhận
Đấy là giải thích việc data class gen ra những hàm đó cho bạn, mình không nói là bạn phải viết 2 hàm đấy ra ở Java. Viết ra chỉ là để người đọc biết rằng data class có mặc định 2 hàm đấy
Con lai của chuyện tình tay 3 , Framework giống AngularJs, View Engine giống React, Time Travel (Vuex) giống Redux. 3 thứ siêu đỉnh kết hợp lại thành VueJs.
Đọc code thấy cũng rất sạch sẽ gòn gàng, rất đáng để sử dụng. Cá nhân mình nghĩ nó sẽ phát triển mạnh.
ví dụ đầu tiên, đã return super thì cần gì phải override, hay cụ thể hơn là trừ cái toString ra còn lại mấy hàm có override đều là thừa, ko viết cũng ko sao, còn nếu thực sự cần override theo ý mình cho khác với base class thì bất kể ngôn ngữ nào khi thay đổi cũng cần sửa chứ ko riêng gì java, kể cả kotlin cũng ko ngoại lệ
anh ơi, có trang nào tiếng việt giúp tạo 1 web rõ ràng bằng rails không a, vì tiếng anh e còn hạn chế nên việc đọc RUBY ON RAILS TUTORIAL (RAILS 5)
Learn Web Development with Rails
Michael Hartl
thực hành đọc khó hiểu
Tại sao cái hàm show em viết cuối cùng thì nó không gét được cái @user vậy anh phải chẳng ruby nó vậy. giờ em xem code anh thì em chuyển hàm show lên trên đầu users_controller.rb thì nó chạy bình thường.
Bài hướng dẫn trên pần view :session request qua mà anh ghi thiếu chữ i :sesson, phần view lúc create sẽ redirect_to login_path mà a không cập nhập lại view -_- newbie như em thiệt vật lộn mất buổi tối mà T_T
error ndefined methodname' for nil:NilClass`
cái này là do thằng @user đang nil,
e check lại xem lúc call hàm Session#create có get được thằng User ra không
https://github.com/duc11t3bk/login_app
đây là project ở trên, e down về nghiên cứu nhé
<label>User name: <%= @user.name %>
error ndefined method `name' for nil:NilClass
Anh cho em hỏi là tại sao em có viết cai function show trong users_controller.rb mà dường như nó không get được cái @user.name
Nguyên nhân của việc dùng get 'logout' => 'session#destroy' chạy được mà detele 'logout' => 'session#destroy'
app/views/users/show.html.erb
<%= link_to "Logout", logout_path, method: :delete %>
là do ở phía trên a thiếu cái method: :delete phía sau thằng link_to, chú xem ở bên trên cái này đúng là a bị thiếu đấy (yaoming)
A giải thích thêm:
Vì sao trước khi thêm method: :delete chú dùng get thì chạy được là do
khi khai báo get 'logout' => 'session#destroy' thì lúc gọi logout_path thì url nó sẽ sinh ra thế này /logout với method là GET, mặc định link_to khi gọi sẽ là method GET nhé. Vì thế chú đổi lại ở routes thành GET nó mới chạy được
khi khai báo detele 'logout' => 'session#destroy' thì lúc gọi logout_path thì url nó sẽ sinh ra thế này /logout nhưng method lại là DELETE, do đó khi muốn thằng link_to đổi method thành DELETE khi gọi cần thêm method: :delete phía sau
Để ý cả 2 thằng get 'logout' => 'session#destroy' và detele 'logout' => 'session#destroy' đều sinh ra url là /logout chỉ khác method lúc truyền lên Server là GET hay DELETE mà thôi, việc quy định như vậy là chuẩn đã được thống nhất người ta gọi là chuẩn RESTFUL có thê tham khảo thêm bên dưới để hiểu rõ hơn nhé
https://viblo.asia/khanhhd/posts/l5y8Rro9Mob3
THẢO LUẬN
theo như a biết thì hình như chưa có ai viết bằng tiếng Việt cả, trước anh cũng học từ cuốn Rails 5 ấy đấy =]], chú cứ đọc thực hành theo nó, sau đó tự mình làm lại cái project mà nó ví dụ ấy, tự làm không nhìn source, chỉ cần chú tự mình làm lại được ngon hiểu hết những ký thuật trong ấy, a nghĩ chú đi nộp CV xin việc Ruby nơi nào cũng nhận
Các package mình đang sử dụng nhé:
Đấy là giải thích việc data class gen ra những hàm đó cho bạn, mình không nói là bạn phải viết 2 hàm đấy ra ở Java. Viết ra chỉ là để người đọc biết rằng data class có mặc định 2 hàm đấy
Con lai của chuyện tình tay 3
, Framework giống AngularJs, View Engine giống React, Time Travel (Vuex) giống Redux. 3 thứ siêu đỉnh kết hợp lại thành VueJs.
Đọc code thấy cũng rất sạch sẽ gòn gàng, rất đáng để sử dụng. Cá nhân mình nghĩ nó sẽ phát triển mạnh.
Bạn tham khảo ở đây nhé https://www.cocoanetics.com/2012/07/multi-context-coredata/
ví dụ đầu tiên, đã return super thì cần gì phải override, hay cụ thể hơn là trừ cái toString ra còn lại mấy hàm có override đều là thừa, ko viết cũng ko sao, còn nếu thực sự cần override theo ý mình cho khác với base class thì bất kể ngôn ngữ nào khi thay đổi cũng cần sửa chứ ko riêng gì java, kể cả kotlin cũng ko ngoại lệ
anh ơi, có trang nào tiếng việt giúp tạo 1 web rõ ràng bằng rails không a, vì tiếng anh e còn hạn chế nên việc đọc RUBY ON RAILS TUTORIAL (RAILS 5) Learn Web Development with Rails Michael Hartl thực hành đọc khó hiểu
Nếu là quản trị website thì ko cần biết code bạn nhé, chủ yếu là nhập liệu chỉnh sửa nội dung trên site.
haha, e cũng làm theo chứ không hiểu rõ bên trong lắm
(y)
https://github.com/duc11t3bk/login_app/blob/master/app/controllers/users_controller.rb#L7 chú phải đặt nó phía trên hàm khai báo private nhé, cụ thể là phải nằm phía trên hàm này, đặt phía dưới là nó sẽ hiểu là hàm private đấy, mà private thì không get được thằng @user ra đâu
thế hả =]] a copy code từ project sang mà nhỉ, thế ếu nào nó chạy ầm ầm nên không check lại source trên bài vất vả chú rồi =]]
Tại sao cái hàm show em viết cuối cùng thì nó không gét được cái @user vậy anh phải chẳng ruby nó vậy. giờ em xem code anh thì em chuyển hàm show lên trên đầu users_controller.rb thì nó chạy bình thường.
Bài hướng dẫn trên pần view :session request qua mà anh ghi thiếu chữ i :sesson, phần view lúc create sẽ redirect_to login_path mà a không cập nhập lại view -_- newbie như em thiệt vật lộn mất buổi tối mà T_T
error ndefined methodname' for nil:NilClass` cái này là do thằng @user đang nil, e check lại xem lúc call hàm Session#create có get được thằng User ra không https://github.com/duc11t3bk/login_app đây là project ở trên, e down về nghiên cứu nhé<label>User name: <%= @user.name %> error ndefined method `name' for nil:NilClass Anh cho em hỏi là tại sao em có viết cai function show trong users_controller.rb mà dường như nó không get được cái @user.name
Nguyên nhân của việc dùng
get 'logout' => 'session#destroy'chạy được màdetele 'logout' => 'session#destroy'app/views/users/show.html.erb<%= link_to "Logout", logout_path, method: :delete %>là do ở phía trên a thiếu cáimethod: :deletephía sau thằng link_to, chú xem ở bên trên cái này đúng là a bị thiếu đấy (yaoming)A giải thích thêm: Vì sao trước khi thêm method: :delete chú dùng get thì chạy được là do khi khai báo
get 'logout' => 'session#destroy'thì lúc gọi logout_path thì url nó sẽ sinh ra thế này/logoutvới method làGET, mặc định link_to khi gọi sẽ là method GET nhé. Vì thế chú đổi lại ở routes thành GET nó mới chạy đượckhi khai báo
detele 'logout' => 'session#destroy'thì lúc gọi logout_path thì url nó sẽ sinh ra thế này/logoutnhưng method lại làDELETE, do đó khi muốn thằng link_to đổi method thànhDELETEkhi gọi cần thêmmethod: :deletephía sau Để ý cả 2 thằngget 'logout' => 'session#destroy'vàdetele 'logout' => 'session#destroy'đều sinh ra url là/logoutchỉ khác method lúc truyền lên Server là GET hay DELETE mà thôi, việc quy định như vậy là chuẩn đã được thống nhất người ta gọi là chuẩn RESTFUL có thê tham khảo thêm bên dưới để hiểu rõ hơn nhé https://viblo.asia/khanhhd/posts/l5y8Rro9Mob3@jinvauser Mình vẫn chưa hiểu ý của bạn, bạn có thể trình bày rõ hơn không?
function đó trẽ return tưng thread 1 chứ không return cùng lúcThanks Viblo ! Tôi đã thấy rồi.
nguyentiendat1892@gmail.com thanks a