2013-02-20 26 views
56

जब कोई उपयोगकर्ता बैक बटन पर क्लिक करता है तो मैं रूबी कोड का एक ब्लॉक बनाने की कोशिश कर रहा हूं। मुझे "/ परियोजनाओं/11/चरणों/4" के लिए त्रुटि "अपरिभाषित विधि 'stringify_keys' मिल रही है: स्ट्रिंग"। जब मैं काम और अंत से छुटकारा पाता हूं तो कोड काम करता है। मैं link_to में क्या करूं?रेल - अपरिभाषित विधि 'stringify_keys'

<%= link_to 'Back', project_step_path(@project, @project.steps.count-1), :class => "btn btn-small" do %> 

    <% end %> 

उत्तर

129

आप link_to आप पाठ सामग्री (ब्लॉक अपने पाठ सामग्री है) नहीं हो सकता है के ब्लॉक प्रपत्र उपयोग कर रहे हैं। आपको यह करने की आवश्यकता होगी:

<%= link_to project_step_path(@project, @project.steps.count-1), :class => "btn btn-small" do %> 
    Back 
<% end %> 

आमतौर पर इसका उपयोग तब किया जाता है जब आप छवियों या अन्य टैग को लिंक की सामग्री के रूप में रखना चाहते हैं। यह पूरी तरह से प्रदर्शन उद्देश्यों के लिए है। ब्लॉक आपको जावास्क्रिप्ट जैसी कार्यक्षमता नहीं देगा, इसलिए सुनिश्चित करें कि अतिरिक्त प्रदर्शन व्यवहार वह है जो आप यहां देख रहे हैं :)

+3

यह काम करता है, धन्यवाद! एक बार स्टैक ओवरफ्लो मुझे 11 मिनट में देता है ... – scientiffic

+0

धन्यवाद! 'स्लिम' का उपयोग करते समय यह अजीब कारण है कि आपको ब्लॉक खोलना नहीं है। – igorgue

9

यदि आप ब्लॉक पास करते हैं तो लिंक नाम पास न करें। होना चाहिए:

<%= link_to project_step_path(@project, @project.steps.count-1), :class => "btn btn-small" do %> 
    Back 
<% end %> 
संबंधित मुद्दे