मैं दो मॉडल के साथ एक सरल अभ्यास कर रहा हूं। खेल और टीमों,रेल - एक फॉर्म में विदेशी कुंजी संदर्भ प्रदर्शित करना
rails g scaffold sport name:integer rails g scaffold team name:integer fans:integer sport:references
के रूप में परिभाषित (नोट: कारण मैं पाड़ उपयोग कर रहा हूँ तेजी से तो कुछ हिस्सों के साथ प्रयोग प्रोटोटाइप है मैं सीख सकते हैं/मैं अभी तक से परिचित नहीं हूँ)
समस्या यह है कि मेरी "खेल" (विदेशी कुंजी संदर्भ यानी) निम्नलिखित
तो यह यह करने के लिए है कि अजीब #<blahl blah>
अंकन मिला है की तरह दिख रहा है ...
<%= form_for(@team) do |f| %>
<% if @team.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(@team.errors.count, "error") %> prohibited this team from being saved:</h2>
<ul>
<% @team.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
</div>
<% end %>
<div class="field">
<%= f.label :name %><br />
<%= f.text_field :name %>
</div>
<div class="field">
<%= f.label :fans %><br />
<%= f.number_field :fans %>
</div>
<div class="field">
<%= f.label :sport %><br />
<%= f.text_field :sport %>
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
मैंने एक लाइन को @team.sport.name
में बदलने की कोशिश की है, लेकिन इसके परिणामस्वरूप undefined method 'Ice Hockey' for #<Team:0x3e7e040>
त्रुटि हुई है ... कोई विचार यहां से नाम को सही तरीके से कैसे प्रदर्शित करें ??
धन्यवाद @MrYoshiji । मैं शुरू करने के लिए अपना पहला सुझाव आज़मा रहा हूं, और मूल्य सही बॉक्स में सही ढंग से दिखाई देते हैं। हालांकि, मुझे सहेजने का प्रयास करते समय 'ActiveModel :: MassAssignmentSecurity :: त्रुटि' मिल रहा है, यह कह रहा है कि 'संरक्षित विशेषताओं को बड़े पैमाने पर असाइन नहीं किया जा सकता: sport_id' – Ricky
मुझे अपने attr_accessors में 'sport_id' जोड़कर काम करना पड़ा teams_controller। क्या यह करने का सही तरीका था? इसके अलावा, मैंने दूसरी विधि की कोशिश की, और यह काम करता है, लेकिन मुझे समझ में नहीं आता क्यों। 'Sport.scoped' क्या है? इसे केवल 'संपादन' विधि में क्यों जरूरी है? उदाहरण, 'नई' विधि अभी भी वही '_form.html.erb' दृश्य साझा करती है, फिर भी मैं वहां '@sports = Sport.scoped' पर कॉल नहीं करता हूं लेकिन यह अभी भी काम करता है ... किसी भी अंतर्दृष्टि के लिए धन्यवाद – Ricky