रेल 5 के फॉर्म_विथ का उपयोग करके, मैं जीईटी बटन पर क्लिक करके वर्तमान समय टेक्स्ट दिखाना चाहता हूं। लेकिन पाठ अद्यतन नहीं है।

हालांकि मैं बटन दबाता हूं, यहां छवि विवरण दर्ज करें

टेक्स्ट अपडेट नहीं किया गया है।

enter image description here

प्रतिक्रिया में पाठ अद्यतन किया गया है। यहां छवि विवरण दर्ज करें

Users_controller.rb अनुसरण कर रहा है।

require 'date'
class UsersController < ApplicationController
  def index
    @message = Time.now.to_s
  end
end                                                                                                     

Index.html.erb अनुसरण कर रहा है।

<div><%= @message %></div>
<%= form_with method: :get, url: users_path do |form| %>
    <%= form.submit 'SUBMIT'%>
<% end %>
<%= link_to 'LINK', { :controller => :users, :action => :index } %>

कृपया मुझे बताएं कि वर्तमान समय के अनुसार टेक्स्ट को कैसे अपडेट किया जाए।

नोट:

जब कोई लिंक दबाया जाता है (link_to सहायक विधि द्वारा प्रदान किया जाता है), तो टेक्स्ट अपडेट हो जाता है।

लिंक दबाएं...

enter image description here

फिर टेक्स्ट अपडेट किया जाता है।

enter image description here

मैं लिंक द्वारा टेक्स्ट अपडेट क्यों कर सकता हूं?

संपादित करें:

बटन पर क्लिक करते समय सर्वर लॉग निम्नलिखित है।

Started GET "/users?utf8=%E2%9C%93&commit=SUBMIT" for 127.0.0.1 at 2018-08-17 19:13:32 +0900
Processing by UsersController#index as JS
  Parameters: {"utf8"=>"✓", "commit"=>"SUBMIT"}
  Rendering users/index.html.erb within layouts/application
  Rendered users/index.html.erb within layouts/application (4.7ms)
Completed 200 OK in 153ms (Views: 112.5ms | ActiveRecord: 0.0ms)
4
Yuki.M 17 अगस्त 2018, 12:37
जब आप सबमिट बटन पर क्लिक करते हैं तो क्या आप लॉग फ़ाइल से लॉग जोड़ सकते हैं?
 – 
Arup Rakshit
17 अगस्त 2018, 12:41
बटन क्लिक के लिए सर्वर लॉग दिखाएं।
 – 
Jagdeep Singh
17 अगस्त 2018, 12:41
form_with सिंटैक्स शायद सही नहीं है, कृपया इसे `form_tag` से जांचें।
 – 
Anand
17 अगस्त 2018, 12:49
या इस सिंटैक्स को आजमाएं <%= form_with url: users_path, method: :get do |form| %>
 – 
Anand
17 अगस्त 2018, 12:51
क्या आप सुनिश्चित हैं कि यह बटन क्लिक करते समय index क्रिया कर रहा है?
 – 
John Baker
17 अगस्त 2018, 13:16

2 जवाब

सबसे बढ़िया उत्तर

क्या आप निम्नलिखित कोशिश कर सकते हैं?

<%= form_with method: :get, url: users_path, local: true do |form| %>

व्याख्या:

मैंने आपके लॉग में देखा

UserController#index द्वारा JS के रूप में प्रसंस्करण

जिसका अर्थ है कि फ़ॉर्म format: :js के साथ सबमिट किया गया है क्योंकि form_with अब डिफ़ॉल्ट रूप से remote: true हो गया है, जैसा कि आप देख सकते हैं यहां (आप remote: false नहीं कर सकते, लेकिन इसके बजाय local: true का उपयोग करें), form_for और form_tag के विपरीत जहां remote: false डिफ़ॉल्ट रूप से, लेकिन आप remote: true निर्दिष्ट करते हैं।

10
Jay-Ar Polidario 17 अगस्त 2018, 14:02
कोई समस्या नहीं! :3
 – 
Jay-Ar Polidario
20 अगस्त 2018, 23:32
<div><%= @message %></div>
<%= form_tag(users_path, method: :get) do%>
    <%=submit_tag 'SUBMIT'%>
<% end %>
<%= link_to 'LINK', { :controller => :users, :action => :index } %>

या

<%= form_with url: users_path, method: :get do |form| %>
  <%= form.submit 'SUBMIT'%>
<%end%>
<%= link_to 'LINK', { :controller => :users, :action => :index } %>  
1
Anand 17 अगस्त 2018, 13:19
1
चूंकि ओपी रेल 5 का उपयोग कर रहा है, मेरा मानना ​​है कि form_tag और form_for को पहले ही हटा दिया जाएगा, form_with के पक्ष में, जिसे DHH, जिसे लागू किया गया और इस पुल अनुरोध
 – 
Jay-Ar Polidario
17 अगस्त 2018, 13:15
@ Jay-ArPolidario उस स्थिति में मैंने पहले ही ओपी को टिप्पणी में सही सिंटैक्स के साथ form_with का उपयोग करने का सुझाव दिया था।
 – 
Anand
17 अगस्त 2018, 13:17
आपके उत्तर के लिए धन्यवाद। हालांकि मैंने दूसरे कोड की कोशिश की, यह काम नहीं करता है। लेकिन, मैंने स्थानीय कोशिश की: सच जिसका आपने टिप्पणी में उल्लेख किया है, तो यह काम करता है!
 – 
Yuki.M
18 अगस्त 2018, 01:20