मैं एक बटन की कार्रवाई से एक जॉइन टेबल के भीतर एक रिकॉर्ड बनाने की कोशिश कर रहा हूं। मेरे पास एक इवेंट मॉडल होगा और प्रत्येक उपयोगकर्ता से चयनित घटनाओं को ट्रैक करना चाहते हैं।रेल - नियंत्रक से तालिका में शामिल होने के लिए रिकॉर्ड जोड़ें
मैंने एचएबीटीएम संबंध का उपयोग किया क्योंकि मुझे वास्तव में किसी भी अतिरिक्त फ़ील्ड की आवश्यकता नहीं है।
User.rb:
has_to_and_belongs_to_many :events
Event.rb:
has_to_and_belongs_to_many :users
Events_Users प्रवासन:
[user_id, event_id, id=>false]
मैं रिकॉर्ड के वास्तविक निर्माण पर अटक कर रहा हूँ। किसी ने मुझे सांत्वना के भीतर में रिकॉर्ड जोड़ने के साथ पहले की मदद की:
u = User.find(1)
u.events << Event.find(1)
अब मैं एक लिंक पर क्लिक करने के परिणामस्वरूप कार्रवाई करने के लिए चाहते हैं ... इस सही दिशा में है?
def add
@user = User.find(session[:user_id])
@event = Event.find(params[:id])
if @user.events.save(params[:user][:event])
flash[:notice] = 'Event was saved.'
end
end
मैं एक @user.events.new
कहीं जोड़ना चाहिए और यदि ऐसा है तो मैं कहाँ है जो उपयोगकर्ता और जो घटना के पैरामीटर रख सकता हूं?
आप मतलब है @ user.events << @ event.name ??? – ChrisWesAllen
नहीं। अगर मैं समस्या का वर्णन सही तरीके से समझ रहा हूं तो वह कोड समझ में नहीं आता है। – Gdeglin
सुझावों के लिए धन्यवाद, मैंने "<% = link_to image_tag (" grid_heart.gif ",: border => 0), नियंत्रक => 'ईवेंट',: action => 'add_event'%>" से "< % = button_to "जोड़ें",: नियंत्रक => 'ईवेंट',: action => "add"%> "लेकिन मुझे अभी भी एक" अनियंत्रित निरंतर EventController "होने में त्रुटि मिली है क्या मैंने विधि को गलत नियंत्रक में रखा था? – ChrisWesAllen