मेरे पास जेनरेट मचान के साथ उत्पन्न दो मॉडल हैं, एक लॉगबुक है और दूसरा LogEntry है। मैं लॉगबुक शो पेज पर LogEntry के लिए आंशिक रूप से प्रपत्र प्रस्तुत करना चाहता हूं।एक अलग नियंत्रक (आंशिक नहीं) में आंशिक रूप से प्रस्तुत करें
undefined method `model_name' for NilClass:Class
मुझे लगता है ऐसा इसलिए है क्योंकि डिफ़ॉल्ट _form एक उदाहरण चर जो जब एक अलग नियंत्रक से कहा जाता है मौजूद नहीं है का उपयोग करता है: जब मैं आंशिक पर प्रस्तुत करना फोन मैं इस त्रुटि मिलती है। इसलिए मैंने स्थानीय चर का उपयोग करने के लिए LogEntry _form.html.erb को परिवर्तित करने का प्रयास किया और उन्हें रेंडर कॉल के माध्यम से पारित किया।
Model LogEntry does not respond to Text
कैसे मैं इस शो पेज में इस आंशिक शामिल कर सकते हैं एक अलग नियंत्रक के रूप में: यह यहाँ के बाद त्रुटि है?
मॉडल:
class LogBook < ActiveRecord::Base
belongs_to :User
has_many :LogEntries, :dependent => :destroy
end
class LogEntry < ActiveRecord::Base
belongs_to :LogBook, :class_name => "log_book", :foreign_key => "log_book_id"
end
LogEntry _form.html.erb (स्थानीय चर का उपयोग कर):
<%= form_for(log_entry) do |f| %>
<% if log_entry.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(log_entry.errors.count, "error") %> prohibited this log_entry from being saved:</h2>
<ul>
<% log_entry.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
</div>
<% end %>
<div class="field">
<%= f.label :Text %><br />
<%= f.text_field :Text %>
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
कार्यपंजी show.html.erb:
<p id="notice"><%= notice %></p>
<p>
<b>Name:</b>
<%= @log_book.name %>
</p>
<%= render 'log_entries/form', :log_entry => @log_book.LogEntries.new %>
<%= link_to 'Edit', edit_log_book_path(@log_book) %> |
<%= link_to 'Back', log_books_path %>
यह था: पाठ त्रुटि जो समस्या पैदा कर रही थी, धन्यवाद! – vfilby
@ फॉर्म सबमिट होने पर @neneadiving, लॉग प्रविष्टि नियंत्रक का उपयोग किया जाएगा? – BKSpurgeon