2017-01-28 7 views
0

Ich sende eine Einladung an einen neuen Benutzer mit Invisible Devise. Ich habe eine verwandte Tabelle für Benutzer, die Organisationen genannt werden, mit einer Beziehung "houses_to/has_many". Wenn der neue Benutzer die Einladung akzeptiert, wird angegeben, dass eine Organisation angegeben werden muss. Wie würde ich sicherstellen, dass der Benutzer automatisch der Organisation des einladenden Benutzers zugewiesen wird, sodass die Datenbank aktualisiert wird und die Einladung angenommen werden kann?Benutzer zu Organisation mit Invite Invite einladen

Vielen Dank!

Modellierung nach der Einladung Token als verstecktes Feld, fügte ich

<%= f.hidden_field :plan_id, :value => 1 %> 
<%= f.hidden_field :organization_id, :value => 1 %> 

zum edit.html.erb Einladung anzuzeigen. Dies funktioniert, um die Informationen, die ich suche, einzureichen, aber ich bin besorgt, dass es nicht sicher ist, da diese Parameter angepasst werden könnten. Ich habe auch versucht, das Hinzufügen des Edit-Steuerelement in den Einladungen Controller, aber es hat nichts getan.

resource.plan_id = 1 
resource.organization_id = 1 
+0

Sie sollten Liste, was Sie bereits versucht. Siehe http://stackoverflow.com/help/how-to-ask – Gab

+0

Ich bearbeitet, um weitere Details hinzuzufügen. – waffle

Antwort

2

Ich habe ein ähnliches Setup, haben Sie so etwas wie dies in der create Abschnitt Ihrer invitations Controller versucht?

Dieser Ansatz funktioniert für mich, aber Sie müssen den Standard-Einladungen-Controller auf diese Weise übersteuern.

def create 
    @invited_user = User.invite!({:email => "[email protected]"}, current_user) 
    @invited_user.update(organization: current_organization) 
    ... 
    end 

ich current_organization in meiner application_controller.rb Datei definiert haben:

def current_organization 
    @current_organization ||= current_user.organization 
    end 
Verwandte Themen