Let me try again on a new Rails app and confirm that I am right.… if what 
YOU say is correct then I missed something when debugging and it is my bad. 
Will revert on this

On Tuesday, February 18, 2020 at 1:41:02 PM UTC-5, Ariel Juodziukynas wrote:
>
> I understand your complain, what I'm saying is that I have some rails 6 
> projects using form_for remote and form_with and I didn't have to bind to 
> the ajax events. rails-ujs and jquery_ujs both expect you to render a view 
> with .js format and both libraries executes your response's javascript.
>
> Are you rendering a js view when you process the unsubscribe action? what 
> does you action do? what do you respond to the user from your server? you 
> have to tell rails what to do when you submit the form, how are you telling 
> rails what to do?
>
> El mar., 18 feb. 2020 a las 14:46, Momeas Interactive (<
> te...@datatravels.com <javascript:>>) escribió:
>
>>
>> Yes, I was discussing this in the Slack channel yesterday in the #coding 
>> room
>>
>> You're right that Rails no longer installs JQUery by default, but lots of 
>> things just go ahead and encourage it anyway. (which Is fine and not what 
>> I'm complaining about)
>>
>>
>> This guide, for example, as I said above, encourages you to use jQUery to 
>> add Ajax events to your form submit:
>>
>>
>> https://guides.rubyonrails.org/working_with_javascript_in_rails.html#remote-elements
>>
>> You could of course not use jQuery and do it another way, except that 
>> rails-ujs, which is really the problem here, expect you not to.
>>
>> Right at the top of the https://github.com/rails/jquery-ujs/wiki/ajax docs 
>> it says that the UJS events are emitted through jQuery.
>>
>> So I realize that UJS is also at play here, and neither UJS nor jQUery 
>> are my complaints. 
>>
>> My complaint is that this obscure non-intuitive part of Rails is required 
>> to do something basic-- like submit a form-- and that Rails 6 has too much 
>> configuration over convention. 
>>
>> These days when I install Rails 6 all I do is configuration, 
>> configuration, configuration (and fighting with these obscure parts of 
>> Rails to configure it some more) 
>> my code just looks like this:
>>
>>
>> - if @unsubscribe
>>   = form_with url: '/unsubscribe' do |f|
>>     = f.hidden_field :email, value: @unsubscribe.email
>>     = f.hidden_field :nonce, value: @unsubscribe.nonce
>>
>>     You are confirming that you want to unsubscribe:
>>     %br
>>     %br
>>     = f.text_field :email, disabled: true, value: @unsubscribe.email
>>     %br
>>     %br
>>     = f.submit 'Unsubscribe'
>>
>>
>> When I do this, the form is submitted as Javascript (JS). if I add local: 
>> true then the form is submitted as HTML. 
>>
>> *This is not a bug, it is a complaint. *
>>
>> the default behavior (to submit using JS) shouldn't leave my app in a 
>> non-working buggy state (nothing happens unless you bind an event to the 
>> Ajax event). that's the complaint. 
>>
>> -Jason
>>
>>
>>
>>
>>
>> On Tuesday, February 18, 2020 at 12:27:26 PM UTC-5, Ariel Juodziukynas 
>> wrote:
>>>
>>> And also (sorry for the multiple responses), you are showing jquery 
>>> code, rails moved out of jquery a long time ago (I think docs are outdated 
>>> though), something might be wrong with your setup.
>>>
>>> El mar., 18 feb. 2020 a las 14:25, Ariel Juodziukynas (<
>>> arie...@gmail.com>) escribió:
>>>
>>>> Can you share some code to reproduce the problem? (a github repo with a 
>>>> simple rais app would be greate)
>>>>
>>>> El mar., 18 feb. 2020 a las 14:24, Ariel Juodziukynas (<
>>>> arie...@gmail.com>) escribió:
>>>>
>>>>> I have a few rails 6 projects and remote forms works out of the box 
>>>>> with no event binding. Can you reproduce that problem with a clean 
>>>>> rails app? maybe you have some other js messing up rails' ajax handers.
>>>>>
>>>>> El mar., 18 feb. 2020 a las 14:22, Momeas Interactive (<
>>>>> te...@datatravels.com>) escribió:
>>>>>
>>>>>> Incorrect. You HAVE to bind your Ajax events, or else there is no 
>>>>>> functionality. (the page does not refresh and gives no user 
>>>>>> interaction). I 
>>>>>> do not think that expecting user interaction is an abnormal expectation 
>>>>>> in 
>>>>>> a modern web app.
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Sunday, February 16, 2020 at 5:39:20 PM UTC-5, Ariel Juodziukynas 
>>>>>> wrote:
>>>>>>>
>>>>>>> It doesn't say you that you HAVE to bind all the ajax events. It 
>>>>>>> explicitly says that you "probably" want to do that if you "probably" 
>>>>>>> want 
>>>>>>> to do something other than just submitting the form.
>>>>>>>
>>>>>>> El dom., 16 feb. 2020 a las 17:53, Momeas Interactive (<
>>>>>>> te...@datatravels.com>) escribió:
>>>>>>>
>>>>>>>> it says here in the docs that for turobolinks that you now have to 
>>>>>>>> BIND ALL YOUR AJAX EVENTS  (!?!?) if you want your forms to submit 
>>>>>>>> correctly. 
>>>>>>>>
>>>>>>>>
>>>>>>>> https://guides.rubyonrails.org/working_with_javascript_in_rails.html#remote-elements
>>>>>>>>
>>>>>>>>
>>>>>>>> "You probably don't want to just sit there with a filled out 
>>>>>>>> <form>, though. You probably want to do something upon a successful 
>>>>>>>> submission. To do that, bind to the ajax:success event. On failure, 
>>>>>>>> use 
>>>>>>>> ajax:error. Check it out:"
>>>>>>>>
>>>>>>>> $(document).ready ->
>>>>>>>>   $("#new_article").on("ajax:success", (event) ->
>>>>>>>>     [data, status, xhr] = event.detail
>>>>>>>>     $("#new_article").append xhr.responseText
>>>>>>>>   ).on "ajax:error", (event) ->
>>>>>>>>     $("#new_article").append "<p>ERROR</p>"
>>>>>>>>
>>>>>>>>
>>>>>>>> basically… sitting there with a filled out form is exactly what 
>>>>>>>> happens if you just do a generic form_with and post it now in Rails 6 
>>>>>>>> … 
>>>>>>>> literally, the user just sits there and nothing happens.
>>>>>>>>
>>>>>>>> are you really supposed to bind all your turbolinks forms 
>>>>>>>> throughout your website like this? This seems totally nuts to me, and, 
>>>>>>>> kind 
>>>>>>>> of, not at all 'unobtrusive' … (I thought the whole point of 
>>>>>>>> 'unobtrusive' 
>>>>>>>> was to not have to write a lot of helper/glue/boiler plate code.)
>>>>>>>>
>>>>>>>> it seems totally crazy to me that out-of-the-box Rails 6 
>>>>>>>> installations can't do the most basic web function of submitting a 
>>>>>>>> form 
>>>>>>>> without the developer having to know about binding events of the Ajax 
>>>>>>>> calls. In the old days didn't this used to 'just work' out of the box?
>>>>>>>>
>>>>>>>> anyone else have any thoughts on this and think Rails is moving in 
>>>>>>>> the wrong direction here? The main attraction of Rais is how easy it 
>>>>>>>> is to 
>>>>>>>> make so much functionality with little config and effort, and this 
>>>>>>>> area 
>>>>>>>> seems too basic to me to require this top-heavy approach that requires 
>>>>>>>> binding up Ajax events.
>>>>>>>>
>>>>>>>> I think Rails 7 should move away from having turbolinks turned on 
>>>>>>>> by default — it's a good technology if you want to opt-in to it, but 
>>>>>>>> it's 
>>>>>>>> got so much configuration that it often just gets in the way for new 
>>>>>>>> Rails 
>>>>>>>> apps. It would be very easy to simply leave off Turbolinks in default 
>>>>>>>> Rails 
>>>>>>>> apps and then simply provide instructions for opting-in to it. (Like, 
>>>>>>>> active record session store and other things that used to be default 
>>>>>>>> and 
>>>>>>>> then were extracted out into separate opt-in gems.) 
>>>>>>>>
>>>>>>>>
>>>>>>>> Thoughts?
>>>>>>>>
>>>>>>>> Jason
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> -- 
>>>>>>>> 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/511637f0-dec3-4bd1-9648-a823c140669b%40googlegroups.com
>>>>>>>>  
>>>>>>>> <https://groups.google.com/d/msgid/rubyonrails-talk/511637f0-dec3-4bd1-9648-a823c140669b%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 rubyonra...@googlegroups.com.
>>>>>> To view this discussion on the web visit 
>>>>>> https://groups.google.com/d/msgid/rubyonrails-talk/39ae14f7-72e1-48c3-9d44-371a4e9a799f%40googlegroups.com
>>>>>>  
>>>>>> <https://groups.google.com/d/msgid/rubyonrails-talk/39ae14f7-72e1-48c3-9d44-371a4e9a799f%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 rubyonra...@googlegroups.com <javascript:>.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/rubyonrails-talk/9021a944-10e2-4320-9c2f-b5b68743fb8e%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/rubyonrails-talk/9021a944-10e2-4320-9c2f-b5b68743fb8e%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/e8b46fc5-8dea-4185-a282-3f61d80f5cbe%40googlegroups.com.

Reply via email to