In your case, you CAN'T call "user.avatar.attached?" inside app/javascript/channels/room_channel.js.erb because it's a request dependant object.
El mar., 28 ene. 2020 a las 12:24, Ariel Juodziukynas (<arielj...@gmail.com>) escribió: > Although you can use .js.erb extension for any .js file you have to > understand WHEN that erb gets executed to understand what you can do with > it. > > Assets with .erb extension are compiled to JS code during the assets > precompilation process, you can't put request dependant code (current_user, > instance variables, request controller/action, etc) inside an .js.erb asset > file because it's an isolated process (assets are compiled into one final > static .js bundle). > > You can put request dependant code on .js.erb VIEWS because views are > executed when they are needed for each request. > > Not all js files are used the same way, you can use .erb extension to have > ruby code but have to take into account the context to understand what > variables you have access to. > > El mar., 28 ene. 2020 a las 11:17, fugee ohu (<fugee...@gmail.com>) > escribió: > >> >> >> On Monday, January 27, 2020 at 8:28:48 AM UTC-5, Ariel Juodziukynas wrote: >>> >>> You can't, you need the .erb extension to execute ruby code. >>> >>> El lun., 27 ene. 2020 a las 0:29, fugee ohu (<fuge...@gmail.com>) >>> escribió: >>> >>>> How would I run this same test in javascript without renaming my >>>> room_channel.js to room_channel.js.erb ? >>>> >>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "Ruby on Rails: Talk" group. >>>> To unsubscribe from this group and stop receiving emails from it, send >>>> an email to rubyonra...@googlegroups.com. >>>> To view this discussion on the web visit >>>> https://groups.google.com/d/msgid/rubyonrails-talk/bdf21e73-81a0-4485-957e-82afa0e2d6a9%40googlegroups.com >>>> <https://groups.google.com/d/msgid/rubyonrails-talk/bdf21e73-81a0-4485-957e-82afa0e2d6a9%40googlegroups.com?utm_medium=email&utm_source=footer> >>>> . >>>> >>> >> I can change any .js file to .js.erb ? In this case it's >> app/javascript/channels/room_channel.js Passing data between javascript and >> rails is an important topic so I wanna learn as best I can without >> "cheating" but I'm attracted to the js.erb method too, I wanna mix it up >> something use js.erb sometimes use just .js so I don't end up ignorant >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Ruby on Rails: Talk" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to rubyonrails-talk+unsubscr...@googlegroups.com. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/rubyonrails-talk/3866a144-220f-4e6a-ad06-090226af6ef9%40googlegroups.com >> <https://groups.google.com/d/msgid/rubyonrails-talk/3866a144-220f-4e6a-ad06-090226af6ef9%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> > -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-talk+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/CAPS3bcAct%3Do%2BwsthvgLRLb2rx5wONGx4Zznh1bDqMYb7%3D%3DYYMQ%40mail.gmail.com.