2016-04-14 14 views
0

Şu anda yönetici paneli ile büyük bir mobil uygulama için RoR arka ucunda çalışıyorum. Activity ve Deal, HMT ActivitiesDeal katıldı:Kayıt numarası ruby ​​değişkeni seç

Ben iki model var. Birleşim, rayların konsolunda iki yolunu test ediyor ve bir çekicilik gibi çalışıyor.

Etkinlik, uygulamanın etraflıca oluşturulduğu modeldir. Bu nedenle, yöneticilerin "Etkinlik düzenle" formundaki etkinliklere bazı sezgisel şekilde fırsatlar ekleyebilmesi gerekir.

<%=select("deal", @deal_id, Deal.all.collect {|d| [d.title, d.id]}, {})%> 
<%= link_to "Add", link_activity_deal_path(activity_id: @activity.id, deal_id: @deal_id), method:'post' %> 

Ama düşündüğüm gibi çalışmıyor: Ben activities_deal oluşturmak için bu denedik. Link_activity_deal_path adresine nasıl gönderileceğine dair herhangi bir fikir var mı? Bu, birçok kez çözülmüş bir problem gibi görünüyor, ama uygun olan her şeyi bulabiliyorum.

ActivitiesDealsController:

class ActivitiesDealsController < ApplicationController 

def create 
    @activity = Activity.find(params[:activity_id]) 
    render file: 'public/404.html' and return unless @activity && Deal.find(params[:deal_id]) 
    @activity_deal = ActivitiesDeal.new 
    @activity_deal.activity_id = params[:activity_id] 
    @activity_deal.deal_id = params[:deal_id] 
    if @activity_deal.save 
     redirect_to proc {activity_url @activity} 
    end 
    render file: 'public/500.html' 
end 

def destroy 
    p params 
    @activity = Activity.find(params[:activity_id]) 
    render file: 'public/404.html' and return unless @activity 
    @activity_deal = ActivitiesDeal.where("activity_id == ? AND deal_id == ?", params[:activity_id], params[:deal_id]) 
    render file: 'public/404.html' and return unless @activity_deal 
    ActivitiesDeal.destroy(@activity_deal) 
    redirect_to proc {activity_url @activity} 
end 
end 
+0

sorunuzu belirtiniz: herkes kodunu ihtiyacı varsa

. Lütfen, mevcut uygulamada istenen davranışın ne olduğunu ve neyin yanlış olduğunu belirtin. Lütfen ilgisiz koddan kurtulun. – mudasobwa

+0

Sanırım buradaki anahtar kelime * iç içe form *. – rdupz

cevap

0

düzenleme sayfasının dışında form_for yaparak sorun düzeltildi.

<%= form_for @activity, as: :deal, :url => link_activity_deal_path(activity_id: @activity.id), method:'post' do |f|%> 
<%= f.collection_select :id, @deals, :id, :title %> 
<%= f.submit "Add Deal", class: "btn btn-primary" %>