संपादित करें - स्पष्ट रूप से किसी को भी कोई विचार नहीं है कि मुझे यहां क्या परेशान कर रहा है। मुझे लगता है कि यह कुछ ऐसा है जो मैंने पृष्ठ में कहीं और किया है जो स्थिति विशेषता को अवरुद्ध कर रहा है। समस्या यह है कि मैं कुछ भी नहीं देख सकता। मुझे उम्मीद है कि किसी ने कुछ ऐसा देखा है और सुझाव दे सकता है कि मुझे कहां देखना है।मैं नाम में 'स्थिति' के साथ फ़ॉर्म फ़ील्ड क्यों नहीं पोस्ट कर सकता हूं?
मेरे पास मेरे वेब-ऐप पर डेटा पोस्ट करने के लिए मेरे पृष्ठ पर एक डमी फॉर्म है। यह रेल (एचएएमएल का उपयोग करके) में बनाया गया है;
=form_tag bulk_invoice_path(''), method: 'put', class: 'mark-sent-form' do
=hidden_field_tag 'invoice[status]', 'Sent'
यह निम्नलिखित एचटीएमएल उत्पन्न करता है;
<form accept-charset="UTF-8" action="/bulk_invoices/" class="mark-sent-form" method="post">
<div style="margin:0;padding:0;display:inline">
<input name="utf8" type="hidden" value="✓" />
<input name="_method" type="hidden" value="put" />
<input name="authenticity_token" type="hidden" value="OU8GtbHycR/EJ+H3GG9MN59xI59v47LSaFc2wYZloAs=" />
</div>
<input id="invoice_status" name="invoice[status]" type="hidden" value="Sent" />
</form>
डोम में, यह के रूप में
<form accept-charset="UTF-8" action="/bulk_invoices/" class="mark-sent-form" method="post">
<div style="margin:0;padding:0;display:inline">
<input name="utf8" type="hidden" value="✓">
<input name="_method" type="hidden" value="put">
<input name="authenticity_token" type="hidden" value="OU8GtbHycR/EJ+H3GG9MN59xI59v47LSaFc2wYZloAs=">
</div>
<input id="invoice_status" name="invoice[status]" type="hidden" value="Sent">
</form>
इस प्रकार यह फार्म jQuery (का उपयोग कर coffeescript) इसलिए की तरह साथ पोस्ट किया जाता है प्रकट होता है;
jQuery ->
$('a.mark-sent').click -> updateBulkInvoices('.mark-sent-form')
updateBulkInvoices = (form) ->
$(form).attr('action', "/bulk_invoices/#{checkedInvoices().get().join()}").submit()
इस पैटर्न ने मुझे अन्य कार्यों के साथ अच्छी तरह से सेवा दी है लेकिन 'चालान [स्थिति]' समस्याएं पैदा कर रहा है। जब फॉर्म jQuery के साथ सबमिट किया जाता है तो छुपा क्षेत्र पारित नहीं होता है। मैं अपने रेल कंसोल में निम्नलिखित देखता हूं;
Parameters: {"utf8"=>"✓", "authenticity_token"=>"+qW9kIih5l2j69w1LK2YfQ9mYQ7nKPDm5XgLZuKB4ic=", "id"=>"16"}
यानी चालान [स्थिति] फ़ील्ड फॉर्म पैरामीटर के साथ पारित नहीं किया जा रहा है। अगर मैं इस क्षेत्र का नाम किसी और चीज़ में बदलता हूं तो यह ठीक काम करता है, उदा।
=form_tag bulk_invoice_path(''), method: 'put', class: 'mark-sent-form' do
=hidden_field_tag 'invoice[flatus]', 'sent'
मुझे मेरे कंसोल में निम्न पैरामीटर देता है;
Parameters: {"utf8"=>"✓", "authenticity_token"=>"+qW9kIih5l2j69w1LK2YfQ9mYQ7nKPDm5XgLZuKB4ic=", "invoice"=>{"flatus"=>"sent"}, "id"=>"16"}
मैं एक ही बात हो रहा है, तो मैं Chrome के डेवलपर उपकरण पर 'नेटवर्क' टैब पर नजर रखने के तो मैं यह एक रेल बात है नहीं लगता कि देखते हैं, यह एक ब्राउज़र समस्या हो रहा है। मुझे सफारी और फ़ायरफ़ॉक्स के साथ भी वही चीज़ मिलती है।
क्या ब्राउज़र के रूप में कुछ प्रकार का जादुई आरक्षित शब्द है? यहाँ क्या चल रहा है?
कोई ऐसा आरक्षित शब्द नहीं है जिसने मैंने कोशिश की और इसके कामकाजी ठीक –
ठीक है, यह मेरे लिए काम नहीं कर रहा है। – brad
क्या आप जेनरेट किए गए HTML फॉर्म पोस्ट कर सकते हैं? –