मैं एक नया उत्पाद बनाने के लिए रेल का उपयोग कर रहा हूं और प्रत्येक उत्पाद में एक श्रेणी जोड़ना चाहता हूं।रेल नेस्टेड गुण - नए उत्पाद में श्रेणी विशेषता जोड़ने के लिए कैसे?
मेरे पास तीन टेबल हैं: उत्पाद, श्रेणी और वर्गीकरण (जो उत्पादों और श्रेणियों के बीच संबंधों को संग्रहीत करता है)। मैं वर्गीकरण के निर्माण को प्रबंधित करने के लिए नेस्टेड विशेषताओं का उपयोग करने की कोशिश कर रहा हूं, लेकिन यह सुनिश्चित नहीं करता कि मेरा नियंत्रक और दृश्य/फ़ॉर्म कैसे अपडेट किया जाना चाहिए ताकि नए उत्पाद वर्गीकरण तालिका को भी अपडेट कर सकें।
class Product < ActiveRecord::Base
belongs_to :users
has_many :categorizations
has_many :categories, :through => :categorizations
has_attached_file :photo
accepts_nested_attributes_for :categorizations, allow_destroy: true
attr_accessible :description, :name, :price, :photo
validates :user_id, presence: true
end
class Category < ActiveRecord::Base
attr_accessible :description, :name, :parent_id
acts_as_tree
has_many :categorizations, dependent: :destroy
has_many :products, :through => :categorizations
end
class Categorization < ActiveRecord::Base
belongs_to :category
belongs_to :product
attr_accessible :category_id, :created_at, :position, :product_id
end
यह मेरा नया उत्पाद नियंत्रक है::
<%= form_for @product, :html => { :multipart => true } do |f| %>
<% if @product.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(@product.errors.count, "error") %> prohibited this product from being saved:</h2>
<ul>
<% @product.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 :description %><br />
<%= f.text_field :description %>
</div>
<div class="field">
<%= f.label :price %><br />
<%= f.number_field :price %>
</div>
<div class="field">
<%= f.file_field :photo %>
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
मैं अपने नियंत्रक अद्यतन करना चाहिए कैसे:
def new
@product = Product.new
respond_to do |format|
format.html # new.html.erb
format.json { render json: @product }
end
end
और यहाँ मेरे विचार रूप है
यहाँ मेरी मॉडल हैं ताकि जब कोई नया उत्पाद जोड़ा जाए तो उत्पाद और वर्गीकरण तालिका दोनों अपडेट हो जाएंगे? मैं अपनी व्यू फ़ाइल को कैसे अपडेट करूं ताकि श्रेणियां ड्रॉप डाउन मेनू में दिखाई दें?
* लेकिन अनिश्चित कैसे मेरे ... देखें/फॉर्म अपडेट किया जाना चाहिए * - हमें यह भी पता नहीं है कि आपने उन्हें बेनकाब नहीं किया था। – jdoe
हाय @jdoe - मैंने यहां व्यू फ़ाइल जोड़ा। रेल द्वारा बनाई गई मानक एक कमांड उत्पन्न करती है। –