I still need to understand about turbo8
I received the announcement about Turbo8 in Ruby on Rails in my e-mail. It's in version beta, but we can use it. I searched about it, and I still have some doubts about whether I'll use turbo-streams in the actions of my controllers.
I'll try to explain why I am still using stimulus_reflex and why I'm not using turbo_actions in my controllers:
The turbo_streams or turbo_frames give real-time actions to the users. When you use these with stimulus_reflex, you can call some action in reflex class, and there, you can update multiple places using turbo. So, if you call the turbo in the controller, the action will reflect on the page. I'll try to explain with this approach:
Let's say you have a button to add a comment in a post; when this occurs, it will append to the current page, but let's say you need to inform in another view the number of comments in the application and, in another view the when occurs the last comment. How do you solve this using just the turbo_stream.html.erb?
Sorry, but I am still using the stimulus_reflex to solve this. Why? Because when I dispatch the action using stimulus_reflex, I can save the comment in the method of reflex class, and there are multiple triggers like:
post = Post.find(element.dataset.post_id) # here you can use current_user or something like that
comment = post.comments.build(comments_params) # you have here the same params.require that exists in the controllers
Turbo::StreamsChannel.broadcast_append_to post, target: "comments", partial: "comments/comment", locals: { comment: comment }
Turbo::StreamsChannel.broadcast_update_to "comments_count", target: "comments_count", partial: 'comments/comments_count'
Turbo::StreamsChannel.broadcast_update_to "last_comment_stream", target: "last_comment_stream", partial: 'comments/last_comment_was', locals: {comment: comment}
Posts recentes
Ver tudoIt's an elegant way to access values in hashes and arrays safely and efficiently, and it's instrumental when you're unsure if the key or...
Comentarios