Amazing video. Sold me on Tamagui, I'm about to use it for a few projects I have in the pipeline!
@Mikevets22 сағат бұрын
Would you consider showing how to use aws s3 + shrine + uppy?
@kengreeff46 минут бұрын
I would definitely consider it, just don’t have the time to fit it in right now 😅
@kengreeff46 минут бұрын
I have used shrine in production before and it is a great option!
@MarkHeskethКүн бұрын
Really enjoy these series, thanks Ken
@kengreeff45 минут бұрын
Thanks for watching! Plenty more to come
@AdiGNZLZКүн бұрын
Hello Ken, Great video and very very helpful or me. I am a beginner with Ruby on Rails. I rebuilt your example to understand how view components can be used. It works so far. The only thing I can't get to work the stimulus controller. I double checked everything again but found no difference to your example. Neither the alert when clicking on the button is displayed nor the message “Button controller connected” is displayed in the Bowser console. Can you give me a tip? I have the following in use: Node.js v22.12.0 ruby 3.4.1 Rails 8.0.1 jsbundling-rails ~> 1.3.1 view_component ~> 3.21 Kind regards Adrian
@AdiGNZLZКүн бұрын
OK harcoded it works: <button class="<%= style(variant:) %>" data-controller="button" data-action="click->button#triggerAlert" data-message="<%= alert_message %>" > <%= content %> </button> With <%= component_identifier("button") %> does not work
@kengreeff44 минут бұрын
It could be the helper or the component class itself. Check out my repo for luxury-stays, I have set view components up in there
@rpf23543Күн бұрын
Your channel is so great! They way you explain with the amount of background information is so helpful, thanks a lot! Keep the great work going!!!
@kengreeff45 минут бұрын
Thank you! Really appreciate the positive feedback 🥹
@prashlovessamosaКүн бұрын
this playlist is gold thanks for sharing
@prashlovessamosa2 күн бұрын
Thanks I am learning Rails yt suggested your channel please keep uploading
@kengreeffКүн бұрын
You are in the right place! I'm glad you found the channel.
@dev-j8q2 күн бұрын
@suiteyousir4 күн бұрын
rails with intertia may an interesting one to try
@kengreeff4 күн бұрын
yea, I'm keen to give it a shot soon - just haven't found the need just yet. Stimulus + ViewComponents have been good enough so far :)
@suiteyousir4 күн бұрын
which shortcut did you use to sort the json.extract! ?
@kengreeff4 күн бұрын
Do you know timestamp?
@suiteyousir4 күн бұрын
@@kengreeff 24:10
@eltonsantosoficial5 күн бұрын
No way, it's hard mode. Jesus, there is a an easier and simpler way to do this. You made things too complicated to do something simple.
@kengreeff5 күн бұрын
Lots of ways to solve the same problems. This is just one of them if you want to use Rails as the API for Next.js frontend.
@LEGnewTube6 күн бұрын
I would use this except it’s limited to next.js. I want to be able to use it with other JS frameworks. This really limits the functionality imo.
@justsmile74496 күн бұрын
Hello thnks for your videos struggling to choose between rails or going for next js any advice ? Do you recommend rails in 2025 ? Thnks
@kengreeff5 күн бұрын
Probably the wrong guy to ask as I am obviously bias haha. I built our last business on a Rails API with React frontend. For Clipflow we are using 100% Rails and moving faster than ever before. There are pros and cons to everything though - React is king for complex frontends. I suggest using the tools you are familiar with - the user doesn’t care, so pick the ones that allow you to move fastest and iterate on your product.
@dev-j8q5 күн бұрын
@@kengreeff please do the rails api system + frontend after this series 🙏 .
@kengreeff5 күн бұрын
Rails API + React? If so, I’ve got videos on that already :)
@dev-j8q9 күн бұрын
@newassembler10 күн бұрын
OK this series are peak
@kengreeff9 күн бұрын
🫡
@ErikPukinskis11 күн бұрын
You do this in React by passing a callback ref: <div ref={(element) => /* gets called when element is mounted */} />
@massimov7815 күн бұрын
I love this series and the way your code is organised
@kengreeff15 күн бұрын
Thank you :) Hope you are enjoying the series. A lot more to come!
@dev-j8q16 күн бұрын
you're the best, appriceate your great work
@kengreeff15 күн бұрын
Thank you :)
@MMX-fh5tn16 күн бұрын
Every business have a goal that's Next Level for them..
@stupeyca16 күн бұрын
I knew I'd something meaningful in your channel about Authorization! Will try Pundit 'cause I want to avoid the cancancan gem if possible after seeing how long it takes to make it work.
@kengreeff15 күн бұрын
I swapped from CanCan when it was deprecated and never looked back! Pundit is great
@multitudeuzb17 күн бұрын
oh your channel is not only about programming, amazing
@EnjoytheMents19 күн бұрын
Sick editing. Would be nice more series on this.
@kengreeff18 күн бұрын
Maybe in the future but I’m working on a big series building a directory with Rails! Similar concepts just without Next.js
@n0u1_i20 күн бұрын
I have an error in the configured uploadthing section, how to solve it?
@kengreeff18 күн бұрын
Read the docs :)
@samds775022 күн бұрын
1000% agree
@andyhemphill23 күн бұрын
What’s the little db program you use ?
@kengreeff22 күн бұрын
Valentina Studio :)
@ДмитрийЗагута23 күн бұрын
I continue to study RoR from your videos. I have not encountered scopes in Pandit before. I read the documentation - it seems to me that it makes sense to use attr_reader :user and :scope instead of class instance variables in ListingPolicy. In the seed file, it might be easier to use the Role.find_or_create_by(key: role[:key], title: role[:title]) construction. By the way, thanks for showing how to load different seed files from different directories. Overall, the playlist is awesome 🔥, I'm looking forward to the continuation.
@kengreeff23 күн бұрын
Thank you :) I have 10 episodes already recorded waiting for release and many more to come. Please like, subscribe and share
@multitudeuzb24 күн бұрын
I am your student now please keep making new tutorials 🔥
@kengreeff23 күн бұрын
Yessir! There are already 10 episodes recorded for this series and will keep them coming. Like, subscribe and share with your friends :)
@multitudeuzb23 күн бұрын
@kengreeff now I shared and subscribed, I hope my friends who learning ruby on rails will watch this playlist 👍
@mahyarkianfar604025 күн бұрын
As you mentioned the versioning is very important and can save you a lots of time and sources, a small effort at the start of the project can save your day, I think there is a command for creating your rails project as an api: `rails new my_api --api`
@kengreeff23 күн бұрын
100% - version early to avoid a lot of work later! You can start rails in API mode but you only want that if you are only using as an API without the Frontend. I am actually preferring using Rails for the full stack as development velocity is extremely fast when starting out - no need to add React or another frontend framework at this stage. This app needs to be server rendered as well for SEO.
@andyhemphill25 күн бұрын
Hey. Thanks for the video. Any reason you prefer this auth gem over devise? And have you looked at Auth in Rails 8 - I assume this Gem wont work with Rails 8. Thanks again !
@kengreeff23 күн бұрын
I find it annoying to customize devise over time. Using the authentication-zero gem it just sets up the required code and then you can actually uninstall the gem. You get to control everything which is powerful. I think it also works in Rails 8 but haven't tried it yet. Our latest app (Clipflow) is on Rails 8 and everything works perfectly.
@jotaroisdarius191828 күн бұрын
are the imgs served from a CDN ?
@kengreeff26 күн бұрын
I believe so
@iBindlesАй бұрын
what are those components you are using, are those View Components im really intrigued and would love to know. Thanks !
@kengreeffАй бұрын
Yep, custom components built with the ViewComponent library and Tailwind
@kengreeffАй бұрын
I’ve made a few videos on ViewComponents if you want to see more!
@aldenirochafilho4318Ай бұрын
Ken, congratulations on your channel content! Your recommendation of view_component-contrib has helped me greatly in implementing UIs for my applications using this paradigm. One issue I've faced and haven't found a definitive solution for is creating form components. In the official view_component gem documentation, there's a mention of this limitation and possible workarounds. Have you encountered this issue? If so, do you have any suggestions on how to handle this limitation? Congratulations again and keep up the good work!
@kengreeffАй бұрын
Appreciate the kind words and love hearing how the videos are helping you discover different methods! What kind of form components are you looking at creating? Are you looking for managed state? I’ve been using the standard form partials and it seems to be fine for most use cases
@aldenirochafilho4318Ай бұрын
@@kengreeff Thank you Ken! I can provide more context about the form component challenge I faced. The main issue arose when trying to implement a search form with Ransack that uses Turbo Frames and live search functionality. The tricky part was handling multiple Turbo Frame targets and maintaining the form's reactivity while encapsulating it in a view component. The standard form partials worked well, but when trying to move to a view component, the setup became more challenging. I tried a straightforward component implementation but ran into issues. Are there any specific patterns you've found successful for handling complex form components, particularly when dealing with multiple Turbo Frame targets and live search functionality?
@kengreeffАй бұрын
To be fair, this year is the first time I’m using view components. I read a great article about when to reach for frontend tools - might be a case for something else that is built for purpose. evilmartians.com/chronicles/keeping-rails-cool-the-modern-frontend-toolkit
@YuenXiiАй бұрын
“The Australian accent is the most brutal maltreatment that has ever been inflicted on the mother-tongue of the great English-speaking nations.” -Winston Churchill
@kengreeffАй бұрын
Luckily I don’t have an Australian accent but cheers for the great insights!
@ReecetafarianАй бұрын
It took 57 seconds to say absolutely nothing of value. I'm sending you a bill for my wasted time.
@mahyarkianfar6040Ай бұрын
Awesome content as always Ken, Open source 🙏👏💯
@gutsyfellowАй бұрын
if there is a collection, how to add this entry created to be a reference to that collection
@kengreeffАй бұрын
Not really sure, would have to read the docs
@VincentFulcoАй бұрын
Great example! The music is annoying as hell while trying to concentrate at 2x.
@gibbomeister17Ай бұрын
Great stuff. I'm looking forward to the nexy one. What's the database tool you are using?
@kengreeffАй бұрын
Valentina Studio - www.valentina-db.com/en/valentina-studio-overview
@EnjoytheMentsАй бұрын
following along! looking forward to the rest of the series
@kengreeffАй бұрын
Already recorded 7 episodes 🙃 I’m going for the record haha but want to cover everything from start to finish!
@dev-j8qАй бұрын
love it
@kengreeffАй бұрын
Thank you!
@parkerrexАй бұрын
great vid
@kengreeffАй бұрын
Thanks mate! Appreciate the kind words. Hope you stick along for the ride, I think it is going to be a fun one.
@ephraim-duncanАй бұрын
Nice work man, but your texts is really small.
@kengreeffАй бұрын
Thanks mate - was still learning! The newer videos are better. Let me know what you think!
@aaronhorne9108Ай бұрын
Seems like there’s more money to be made in encouraging entrepreneurs…. 😜
@kengreeffАй бұрын
Just wait until I release my e-book and online course 😉
@kengreeffАй бұрын
Just experimenting with shorts. Hard to do with my usual stuff in such a short timeline! Encouraging engineers to build an actual business rather than spend all day doing tutorials lol
@s1ncedАй бұрын
Im trying to request on "localhost:3000/oauth/google_oauth2" with POST using Postmann, but i receive an exception: "#<ActionController::RoutingError: No route matches [POST] \"/oauth/google_oauth2\">", can you help me? Thanks!!!
@youyoumuАй бұрын
🎉
@massimov78Ай бұрын
Thank you for you clear explanation! You helped me to understand a little bit about stimulus 🔝
@kengreeffАй бұрын
No worries! It’s an interesting one that’s for sure
@abdullahsaleh7196Ай бұрын
Keep it up bro 😎
@kengreeffАй бұрын
Thanks mate!
@rommyarb2 ай бұрын
Clickbait title. One stack is using tamagui
@kengreeff2 ай бұрын
All part of the fun
@hackermade2 ай бұрын
2:10, RBS is not like TypeScript for Ruby?
@kengreeff2 ай бұрын
Haven’t use that one. There are a few type checkers for Ruby but not widely adopted so tooling is not the best