Building a new Rails 6 app with React on Top with Chris Achard

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
all right so I am Chris and this is gonna be react on rail 6 we're gonna talk more about more than just react iTunes jump in here shut up iTunes so we're gonna talk about rail 6 and some of the features I think are pretty neat and then we're gonna live code react on rail 6 is like super easy now so that is gonna be exciting there was not that many people here so this is pretty informal if you have questions whatever then jump in yeah you can find me at my name calm or at my name on Twitter alright so quickly whoo let's survey for rails experiences like beginner I'll say alright couple beginners in advance I'll jump right to advanced alright cool how about react beginners or react and advanced for react one sweet alright then we will I'll do a little bit of a rails intro as we can into it and a little bit more of a reactant row so that you know what's going on I have notes on my phone so if I look at my phone that's what's going on it's a real 60 mount it was last month like they've said if you are on five one or less than you now only have if you're on five one or sorry higher then you have security updates less in you should probably my great because you get severe updates and nothing else so yes does it drop it by default yeah it's so there's a to testing options now our spec is still one of them yeah I mean there's many testing options but there are two kind of built-in ones okay here are some of the features one which i think is pretty cool there's multiple databases now this is built-in previously you had to like really mess around if you wanted to read for more than one database this is from top Tao this is a diagram that they show and I actually think this may not be how most people use it but they say requests come in it hits different apps so these are your observers right and then it goes to a master DB to write or read replicas to be and maybe analytics read they say they're crazy the reason I think most people might not use it this way there is kind of dangerous to think about it this way is this feels like premature optimization like I think people will see this and think oh I need to replicate my database and read from that when really probably most people don't need to do that and so what I think is more common is like companies will have like several different databases like a data team will have a database you know something else will have L stored data somewhere and then you'll have your master rails database and I don't necessarily think most people will replicate data and read from that I think instead it's more likely that you'll read from a master rails data or read and write to master real database and then you will say read from but you can do it natively now which is neat so this is how you do it so now we have a primary I think you can make these whatever you want but and then their example is animals and animals replicas which I thought was funny and to connect to it you can connect to a database and tell it whether you're writing or reading and what you're writing or reading to so this is by so that's Donny then your model needs your rights to different databases okay next is bulk database updates previously you either had to write your sequel by hand or do it in a big loop which is not great these do a single sequel query for insert a whole bunch of stuff update a whole bunch of stuff or ups or a whole bunch of stuff so you give it an array doesn't one big sequel query so that you don't have to write it yourself that's pretty cool all right a little testing this is a little bit towards a testing thing you can now parallel parallel is your testing locally if you've done this natively if you've done this before there have been lots of hacks to get around it to use mobile cords in whatever but now you can either set parallel wines with the number of workers or you can run like parallel workers peoples for as an environment variable and run your tests and it just kind of months at school I have not tested this testing but supposedly of course all right this one I think is pretty cool and we'll see it tonight the tricks editor which was made by Basecamp is a rich text editor and it's now it's not built in but install it with one command which i think is pretty cool because I've been rich text before it's been a big pain in the butt but it is although images don't work right now and I don't know if it's me or rails so I'm someone else for the same problem on line and zero answers on Stack Overflow so probably I don't know we'll see I'll show ya okay this is how you do it we'll see this basically sort of threw me for a loop you don't put columns on your model instead you have a different migration and then it's a single table on air thanks to your model and so and then you just say has a rich text the name of your rich text field and it does it all out of my magic store is it all in one big table and see that alright web pack this is was exciting to me because I'm a JavaScript person as well as an reals person I'll explain before how you had to do it and then also how you do it now so web pack is now the default j/s bundler if you don't forget web Packer sorry if you ever dealt with web pack before like what pack config it is a pain and so the fact that they were able to do it seamlessly is super exciting there are a bunch of rape tests will see the react one tonight but I'll also list them all so web hacker install react and that sets everything up for you which is also and then web pack dev server is the command and it just works so we'll see that all all right let's get to Rails and anybody have any questions about those those are all of users I'm gonna go over there's a few other ones they're mostly mine are real six has been sort of deemed kind of a a minor major update like there's lots of neat thing in it but there's nothing like crazy breaking yeah sure so okay so there's web pack and then web Packer web pack is a JavaScript library and it what it does is it allows you to make a build pipeline for JavaScript so JavaScript the way most people write it today has to be transpiled before so it's not really compiled fat trans fat before it runs on different browsers and web pack will do that for you the problem is web pack is really confusing mostly because build pipelines are really confusing there are a million ways you can add dependencies there are lots of different versions of things that are lots of you have to avoid circular loops and all this stuff so web pack is just really confused plus like I think it was originally written in German or polish or something and so the documentation like wasn't great and so people had to like change the documentation in English anyway web Packer is a real strength or ruby gem that came along and made it super easy to configure with Ruby so if you have a rails 5 app you can update to web Packer it's just a few commands and then you get all the goodness that you're gonna see here so rails 5 also gets this was just a quick upgrade it's nice so what it allows you to do is it allows you to build all of your JavaScript nicely into a production-ready JavaScript to run on the resume okay before web pack or before web Packer really in him before this update mostly people ran react like this you have your rails app and it is your back-end it's your API and you have react which mostly wasn't meant a single page app a lot of people still do it this way this is super common the single page app is usually created with create react app there are a handful of other ways to do it as well but what he moved to web pack are allows you to do is something more like this you can also do this before it was just a little harder but now you have rails which kind of serves all yourself and you can put reacts sort of wherever you want it it can be one big single page app if you want but now it's a much much easier to just drop it in wherever you want and so you can have pages with some ER be some react and so it's super neat okay switch to the demo and we have any questions before we're done yes so when we see the right commands you'll see it has view angular I don't remember there's a few yes so yeah it comes built in with some of those pipelines and also it comes with those but since web hackers in there it will build anything that web Packard can build which is really any JavaScript front-end so once you even use web Packer you can install anything you want and you can compile it so there is some built-in templates for like react and other things but it really just simplifies the JavaScript pipeline for whatever you want to use so you don't have to there's other ways to do it you can use webpack like raw web pack if you want you can use like I said so I still like this a lot actually which is use great react app as a main single page front-end and then use rails it's kind of the API I still like doing that and that doesn't use web Packer pre react that actually uses web pack in the background it's just all JavaScript instead of using the web Packer gem and so and then there is another way that you can get that you can accomplish this which is to do you can just use the CDN to you react Dom and then you can still do this without any build steps and that's mostly for like if you have just a little bit of react as soon as you try to get advanced at all then you want some kind of build pipeline and then what is the best one but there are a couple others can but I don't know if it gets people so the old asset pipeline is still there javascript is off by default now for all new apps but can we include JavaScript and I said I can if you want to making both one side by side the recommendation is still to use asset pipeline for CSS because while web pepper can do a web pack can do CSS it can also do symmetric crap ton of other things not well so while it's possible to do pipe all your CSS through web Hector at least rails supporting beams it not good enough for ease of use so they left asset by way i bind still there with SCSS Jimmy now the default for sass compilation and so unless you're doing like something fancy with the act like style components which does styling for you to take in to react you pretty much still just won't have old fashioned style sheets through asset pipeline asset 5 points since rails 5 was able to access node modules if it's in this same directory as the root of your rails app so if you're so like bootstrap for example installed from yarn or from NPM asset pipeline can access the style sheets part of it while Rep hacker can access the bootstrap jobs get part of it to bootstrap that if you want thank you [Music] so if you are using style components or CSS nsj it supports that pretty well it can apply but there's an option with safe basically extract CSS puts a separate CSS bottom it's the same name as your pack we talked about yet but it'll basically pull all CSS if it's if it's just plain JavaScript one could almost copy/paste into its CoffeeScript I believe left I believe there's a pate jobs in qiyam package for transpiling CoffeeScript into in crumbling es6 which is in greetin Transpo's backed up es5 that you could run through web factor or just web pack the problem is always the configuration of web pack to include a new filter they call them filter with plugins or some something some of the best but the benefit of web factor just doing javascript is that is all set up for you through the web Patrick Jim as far as the configuration of those so if you need something out of the ordinary you are free to edit feed either the babel config file or the web Packer config file or the package.json file by the way there's like three config files just because of what that which is not great but you can include all that stuff in it or just a asset pipelines that still support at least with time being can I yell could people here miss my Ellen said because I can't do the yeah okay so I'm going to our VM used two dots except tree that's the latest I think it works up to four or above but two six three and then I'm just going to do rails new and I'm gonna say in DRV and then I'm going to make sure to skip turbolinks so turbolinks breaks lots of JavaScript babies so it's giving turbolinks is good thank you thanks yeah if you don't skip it there are four maybe I should've done that four things you have to three or four things that you have to comment out or get rid of you can look it up its people oh is it just install it links I guess I could have done this step before it that's right after this we'll run rank T to show you the new web Packer tasks and so notice there it's doing stuff with Babel so it is already getting your yarn file there says no lock file phone so it's already doing JavaScript stuff so now when you make a new rails application you have Ruby stuff going on and you have JavaScript stuff going on right from the beginning okay if we do rank T now if I the right place then here you can see all the web Packer commands so the angular coffee Elm er be react which is what we're gonna use stimulus type script view and then I guess you can manually compile it with the final that's cool I shall look at what these work but we're just gonna use the web Packer installed on so we're gonna wait rate web Packer install react so it already has a web Packer of announce okay squirted Iraq yes also alright and we are going to start a server so this is running a rail server now but we also need to if so this will work and show us our JavaScript if we want live reloads and stuff then we have to run web pack as well so I'm gonna open a new tab here and I'm going to run bin slash web pack dev server so there's a few web pack things you can't just compile it once or you can run web dev server and this will stay open watch your JavaScript and read the pilot a retransmit before you get on the fly okay there we go so that looks good now let's take a look at level host to 3000 - okay all right we are on Rails so but that's okay a text editor okay alright so the first thing we're gonna need is a controller instead of the default screen here so let's generate one we can rails generate a controller so we're gonna generate a [Music] okay and as a little bit of an intro to Rails here so most of these stuff it lives in your app directory that you care about we have the big ones our controllers models and views so models are anything that hits a database controllers are taking that data and sort of packaging it up getting it ready to show and then a few is showing it now though if we look at JavaScript so there's a new JavaScript folder here in pants so under packs is our our main entry points for JavaScript and so there's two now application is which is like application jeaious was before and now because we did they react we have hello react to JSX and so we will look at this in a little bit and we'll make another one but so this is react load it all up and so we're gonna see what this looks like okay so we have our welcome controller let's put a or let's go two routes actually and then make a route to welcome index make sure I'm in the right spot my notes that's just route and then we need a view for that so under views welcome we were going to make a new index at HTML div file and we're just gonna say hello all right let's make sure that worked so now every we go to welcome so nothing fancy here this is just a regular view I'm going to switch these two okay now we want to try to make that hello react JSX file show up so this is where we get back to the part where it rails is kind of big and then we can sort of slot that in wherever we want if we go into our Ellery up JSX I'll explain for anyone who doesn't know quite what reactor is doing I'll explain all that in a second but what is what we care about right now is this so what this is gonna do is gonna find the document append a child which is gonna be a div and inside of that it's going to render our our patient and so wherever we load up that hello turns off so wherever we load up that hello react to X file it's gonna put in the bottom of that body a new div so so on whatever page you want we can write a your B tag here and we can say Java scripts pack tag so this is anything in our packs is now we can load up as a JavaScript app and then we can say hello react and now so that's the same name as the pax5 here and so now if we go and we know that it says a little react that's coming from rant alright pretty cool if we know nothing has changed here yet let's go and look a little bit and let's explain react a little bit okay we can't even get rid of this oh it tells you at the top here JavaScript pack tag so if you forget then you can just look right there all right so one thing web Packer does one thing is great is it allows you to import react or import JavaScript files like you might expect to import Ruby files so if you don't have a build build pipeline setup you can't do this you have to load stuff and then it's in a global space but when you have a build pipeline set up it knows where we have to is it knows what react Thomas knows what props X is although we don't need them so it's derivative and so you can import it just like you might wire to don't right now we just have one component here it's called hello components always take props and then they return this looks like HTML but it's actually something called JSX so it's actually JavaScript this throws people for a loop a lot of times it is actually JavaScript and people hate it and sometimes but it's actually what makes react awesome so if you are looking at this and you're saying get that HTML Javascript then I will say actually it's really really cool so live with it for a while if you hate the look of it then maybe maybe you'll like it at the end of this once we define our Oh this by the way is the same as saying return this that throws people sometimes to online functions so this is a function oh it also if you haven't used gs6 this is an arrow function so this is the same as writing function crops except it automatically behinds what this is the keyword this so if you don't know the difference than outside you arrow functions because they almost always do what you expect them to whereas regular functions don't ok so we are returning a div and then we get to use it down here so this is our custom component that we're using and we are what react Dom does is that inserts our custom component into the body and we're creating a div I'll show a different way a more common way to do it in a second but that's how they chose to do it is inserted all right so let's make this say something else so instead of react we will say hello in DRD and if I save this it says compiled successfully should I read about it oh yeah so it's been recompiling it when I saving it so it Rican so webpack dev server automatically saw it we compiled it and now it says hello in the RV without me alright I'm gonna show you how to make a new pack so say you don't want this hello reacting anymore we're actually get rid of it here no I'm gonna leave it for a second but I'm going to make a new path so in JavaScript packs I can make a new file I'm going to call this welcome you can call it JSX if you want or you can college SJS it doesn't really matter some people like to sx as it tells you there's JSX in it but i'll react has to have sex in it so I just call it Jas that's right we are going to do essentially the same thing as the thing that is close so we're gonna import react and react Dom react on is separate from react to react is like a base of how components it's most of it in react DOM is just a small wrapper that just tells it how to insert itself into the Dom there are different places you can put react like on mobile with react native and those don't use react Dom they use a whole different thing so that's why we're separate and then we are going to define a constant called welcome and that is going to be a function that takes prompts although we don't use props in this situation and then I'm going to return a we can return any HTML tag that we want but remember this is JSX so let's return a div and inside the table clip in each one we'll say welcome from react and then instead of the instead of we're gonna copy this but instead of the append child what we're going to do so after the Dom is loaded instead of a pen child we're going to go back this where to go welcome index view here and we'll put it on top because just to show you that you can put things wherever you want we'll put a new div we'll give it an ID of welcome and once we have this div this is gonna be the container where we're gonna put our react code so inside of here instead of a pen child that we are going to do document get element by ID welcome and instead of hello we are going to be putting our welcome component so what this will do is create a welcome component that contains welcome from react they'll find the div called welcome and it will stick that inside of it so it should already be oh it should already be refreshed except because we created a new pack we have to restart the web pack dev server so that's important because internet and it's okay so now there's Moulton to the three we had before if we go back here and hard refresh you have to refresh the other one to you counsel I'm have to read I'm in three start close servers oh I know what happened we have to include the pack so here's the hello reactor pack we have to be welcome back to alright and once we do that and refresh the page there we go now we get welcome from react be welcome from ER B and then the hello in the army so this is kind of what I was talking about you have some rails in there and then you have to react things and you can kind of choose where you put them on the screen and so I think this is really cool because now you don't have just one giant single page we have to have if you don't want to you can do so one thing I think that is neat it's like if you have some static content you want like a blog you can serve your blog and then your comments that might be done in react that might be dynamic you know but you can serve SEO purposes you can serve the blog content and then later you can load in the comments using react that's one example there's a bazillion examples of where you might want some dynamic stuff some static stuff and you can use multiple reaction components next to each other pretty easily all right any questions [Music] yeah so this doesn't change any of that so there's a few ways you can do it one is you treat react like an API so you make like a bunch of API REST API calls and then you react component loads of blank and then calls all those API calls so that's one way to do it it's still evaluating the other way now that you can do this is you could always do this but you can preload some data on the page in page content and when react loads you can read that data that is a valid way to do it as well sure so there are a couple hacky ways to do it and some may be better ways to do it I don't know if I might go to this quick but you can so because you can load the page with some static stuff you can pre create your data on the server side put it into either a Dom element or the just global JavaScript space and then read it from react so you don't have another API hit it is not server-side rendering of react which is the next thing I was gonna go to so you can be server-side render your react also although that gets pretty complicated and you probably don't need to do that anymore people used to do that for SEO purposes but Google now and it says Java Script they say they don't do it as fast as static content but it still works so unless you're like doing some really high end you know SEO like if you run some really big content site you probably don't have to worry about server-side rendering or or so you probably [Music] yeah you can use whatever you want I like um so you can use Hamill your B or yeah it doesn't change what you what you can use all right I'll do a little bit about let's see I'll do a little bit of an intro to reactor since we had a lot of people who are new to react so if you already know reacts then feel free to ignore me okay react changes the way that you think about doing javascript in a few different ways one is that we mix our markup and our logic now and like I said before I think that's when I react superpowers sometimes people don't like that but I think that's pretty awesome you know show you why the way that you do that is the data that you have will flow through your reactor components and will always equal the same UI and so and then the data changes by changing something called state so I'm gonna talk about props and state really quick props we have here so those are things data that's external to the component comes in as props and then you can use it within your component state is internal to be component changes within that component and then rear Enders and well change the UI for you and so let me just a quick example here we're going to have a counter this is the classic example so we can have a counter who's gonna get a props which will probably be which will be initial count and our counter is gonna have a button and we're just gonna click up we click it it's gonna count down so the UI for that if we imagine a just a regular button right and the button might say and then we can display the account in a para so all this looks like normal HTML so now we have two things we thought we want to do one is the initial count and then the next is make it so that we can increment the count to be initial count let's say that comes down from on high somewhere so that's gonna come into the counter as props and so when we render this now that we've created this component we can use it down here just like we use the Welcome component down here self-closing tags by the way if you don't close a tag like this each one is closed if you don't close it you have to put this last year if you don't they'll be near and the way we perhaps props is with it look like HTML attributes and so I can say that the initial count for example and then I use curly braces and inside the curly braces I can put any JavaScript that I want so I'm just going to put I'll say 5 so the number 5 but inside the curly braces can be any not any judgement I want any JavaScript expression so we can't put like if statements in here but you can do any JavaScript expression and then what this is gonna do is props here will contain it be an object it'll contain all my attributes so props that count will be my initial count and I can display that in curly braces again so inside of JSX we have curly braces in attributes and curly braces to display them and some of them say props count I know if I save this and come back here then the count starts off that's 5 so that's props coming from welcome getting shoved into count and being display here now if I click this button nothing happens yet so let's fix that whenever in react do you think about changing data you're always gonna think about state and so there is there are two ways to do this one is with class components and one is a function components I'm just gonna talk about function components with hooks right now you know about class components or a few but you will run in a classroom products so just know that there's two ways to do this but I'm gonna import something called new state from reactor so state is data that's gonna change and so I can say use state and then I pass in my I'm just gonna props that handle and use State returns an array of objects and the array is going to be the current count and then a function to set the count to something so this is called a rabies structuring if this is confusing but it's basically just saying new state returns an array the first thing is the current value the second thing is the function to update that value so here now instead of perhaps that count I'm just gonna use count which is the current state and so if I reload this now it still says 5 because the initial value is still 5 but now in my button I can do this I can take on quick and I click I'm going to create another function here and so on click it will call this function and I can say set count and there's two ways I can do this it's a complex one was the easy way to do it is actually not the most current way but so I can set my count to my current count plus one alright so let's see what this looks like well refresh and then count up it counts up because every time we click that it runs the update function and comes you can see I'm not calling like render or I'm not really loading this component or whatever I'm not calling it again or anything like that it happens all matically so when I call set count it automatically knows to reload this Komodo and so it's kind of a beauty of react it you've had your data you change your data with these functions and it automatically reloads your whole state any questions do you have to always so it has to be a function if I just did this if I just said set count like that then what would happen is when it loads this it will execute this right away and so which will reload it which will execute it again and so go in an infinite loop count up I actually don't know what will happen if I agree but if I say this every loaded now yeah it throws an error because it goes into infinite loop so this has to be a function it's common to do this so it's common to just make a error function like this you can also pull it out here if you want you can be like count up equals Carol function second out yeah so this is common as well and then you now here you can just say it was here also so here's where you really want to use the second version of not set state set count so set count instead of count plus one inside of here it can return the current state of this so the current count and then I want to say count plus one so this gets a little more confusing but this works also let's make sure this works yeah so this is the other form of the center functions it takes a callback inside here yeah it's name so by convention you call this whatever your state is and then you say set whatever your state is but that's not that's not hard and fast so I can say just like said something and so that was the work and I don't say set I could just say something else or so you're just so what this array be structuring is doing is if I call that an array then I could say my count is my array at zero and something is one so that's exactly the same thing so you can call this what everyone like here yeah yes so if I wanted to say count here that's that's super common yeah and then I couldn't use count here so I'd say so maybe I'd call this like initial count and then put initial count here and then I have to say count as initial count that's right right so the prop is coming in is count I'm D structuring it as initial count yeah that's really common because then effectively going it is named arguments which is really nice questions cool alright so okay we made a component the next thing that you can do is you can inside of JavaScript you can treat so you can reuse these components that's one thing that react is great at so we're going a new folder called components and inside of components we're going to make a new file and we're going to call that counter dance then inside of that we're going to import reacts we don't need react to Dom here because we only use react Dom where we put react actually into the Dom but we can extract this counter now put it into here and export that counter as the default so now we're defining a counter and exporting it from this counter JS file and now we can just like me import react we can import counter from components watch counter and so now we see on this I think this works I may have to restart the thing yeah this so this is still all connected so what we're doing now so you can share components across packs which is really nice now you can make your pack which is whatever small bit of code or that you want and you can share components across your pack or across your packs which is great so you can build up components is also by conventions you can name this whatever you want you some people named the select pages some people say screens components is very common you might have a source folder here and underneath that you have like different things so it like depends on how about components cool alright let's see let's react in more action text that's what we're gonna do this so I think I find super cool because I have done rich text before and it's gonna paint but so we are going to look at how easy or not it is to get rich text editor in here alright we need to first install action text so rails action text install so you saw it did some yarn stuff and it did some Ruby stuff that's because this uses the tricks editor by Basecamp so that's what that installed and then it created our migrations like I said before these migrations they contain where all your data is gonna go so I kind of threw me off a little bit but all of your rich text goes into the tables to find that these migrations not into your like regular somehow files so because we have migrations you need to migrate diva migrate so the other thing this did so action text installs active storage for you if it's not already installed so in the background that's what it uses so if you're curious how I did all of its files and stuff pack of storage is what it uses which means inside of our project there's now config storage yml and so this is where you go to change it change what you're gonna use so we're just doing local right now so that's just gonna save it on the disk which is fine but in production you can use either Amazon or Google or something right and so this is where you go to set all that goodness is config storage once we have that okay so now we have our rich text capabilities but we need a model to put that on so let's make posts because everyone does posts so we're going to generate any scaffold for posts or just post I think yeah post and we're gonna give it a title so all of our text is gonna be we don't have to define the text so we'll see in in the sky we do that so we're just gonna give it a title okay we need to write DB migrating you know to me that's a plain CSS files what's that you mean okay yeah so as a pipeline still and then okay then let's load any migration okay so now if we go to slash posts we have our posts this is a normal scaffold and notice right now there's just title so let's see if we change that inside of our post model so model post here is where we do the link to action text so we can say as rich text and then I'm gonna use content but you can call it whatever you want and now that is all we have to do to hook up the model to rich Texas there's pretty cool we do have to go make sure it saves properly and so in the post controller we're going to go down to our post params so we have title already and now we need to say also save content so that when it comes in from the forum it can actually save it alright cool now let's go to our forum in posts forum so this is all if you haven't seen scaffolds before all this was created by scaffold the rails gene scaffold otherwise you have to do it all yourself that's why I use the scaffold here is our title and so we do the same thing so we have our title wearing at the same thing for content and then instead of text field we're going to say rich text area content okay now let's make a new post there we go rich text which i think is pretty cool alright so we have a real post and rich text and we can make it bold and italic that's exciting stuff all right we can create the post all right now in our scaffold just says title host but let's actually show the rich text so we're gonna go back to our welcome indexed at JS file and down here under everything actually in our controller let's fetch all our posts so in index well then our posts equals postal and then in our welcome index file we can iterate over those so that posts each post we can print out the post title and then the magic words for the content is post that content other words magic words it's just content cool missing do which cool okay so let's go back to our group and there we go here is our rich text say go I notice also here's our hello in DRB that's coming from our react because it's putting it at the bottom of the div that's one reason I like the method where you put it did where you want it and we finite div and stick your content in it because if you just stick stuff at the bottom of page then this is gonna show up the bottom of your page which may be yeah so what the last thing just about the last thing I'll show you is if I'm going to make a new post and I thought this was gonna work so like say I have an image and I upload an image then it totally shows up here and it totally creates it and then when I go to the root it totally doesn't show it trying to figure that out for like an hour and yeah so mini magic isn't installed I install mini magic and then mini magic error and so don't think it's my local machine I think it might be a bug but I don't want to be bug that yep so that's about it any questions about action text I thought was pretty cool easy way to get rich text yeah so it is it's trying to resize my image and it says that first it's not installed and then when I install it it says that it's trying to use a valid like flag basically for a mini magic I don't know what's right it's trying to resize it to fit something like limit size or something is the actual error so I don't exactly know I tried for now I think I'm sorry there's a good question so the rich text it's stored inside actually I can probably just say post that first content yeah it's boys Gmail yeah what well I think it's been it's it's in action text content so what's on so yeah it's just a tional there's gonna be so that good beginning when you made the web hook up there is a way to do if you know you want to be active at a time to make a new rails app and automatically set up to react in one go yes there's bag to do I didn't do it section all the ring stuff but yep alright that's all I had I can answer any questions about real to react but thanks for listening [Applause]
Info
Channel: Indy.rb
Views: 9,110
Rating: undefined out of 5
Keywords: indyrb, Ruby, Rails, JavaScript, Webpacker, Webpack, ReactJS, ActionText, Rails 6
Id: WzaZzruo32Y
Channel Id: undefined
Length: 50min 1sec (3001 seconds)
Published: Mon Oct 21 2019
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.