Ich arbeite an einem RoR-Backend für eine große mobile App, derzeit mit dem Admin-Panel.Speichern der ID aus der Auswahl in Ruby Variable
Ich habe zwei Modelle: Activity
und Deal
, verbunden durch HMT ActivitiesDeal
. Die Verbindung wird in beide Richtungen in Schienen-Konsole getestet und funktioniert wie ein Charme.
Aktivität ist das Modell, um das die App herum aufgebaut ist. Administratoren müssen in der Lage sein, Transaktionen aus dem Formular "Aktivität bearbeiten" in einer intuitiven Weise hinzuzufügen. Ich habe versucht, diese activities_deal für die Erstellung von:
<%=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' %>
Aber es funktioniert nicht, wie ich dachte. Irgendwelche Ideen, wie man die richtige deal_id an link_activity_deal_path sendet? Das scheint ein Problem zu sein, das viele Male gelöst wurde, aber ich kann alles finden, was passt.
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
Bitte geben Sie Ihre Frage. Bitte geben Sie an, was das gewünschte Verhalten ist und was in der aktuellen Implementierung passiert ist. Bitte entfernen Sie nicht verwandten Code. – mudasobwa
Ich denke, das Schlüsselwort hier ist * verschachtelte Form *. – rdupz