diff --git a/app/controllers/memberships_controller.rb b/app/controllers/memberships_controller.rb index 0052c24..199fa8d 100644 --- a/app/controllers/memberships_controller.rb +++ b/app/controllers/memberships_controller.rb @@ -19,7 +19,7 @@ class MembershipsController < ApplicationController # POST /memberships.json def create @membership = Membership.new(params[:membership]) - @membership.fetprofile= Fetprofle.find(params[:fetprofile_id]) + @membership.fetprofile= Fetprofile.find(params[:fetprofile_id]) respond_to do |format| if @membership.save format.html { redirect_to @membership.fetprofile, notice: 'Membership was successfully created.' } diff --git a/app/models/fetprofile.rb b/app/models/fetprofile.rb index fba5c01..a97f35e 100644 --- a/app/models/fetprofile.rb +++ b/app/models/fetprofile.rb @@ -15,12 +15,13 @@ # class Fetprofile < ActiveRecord::Base - attr_accessible :active, :desc, :fetmailalias, :nachname, :picture, :short, :vorname + attr_accessible :active, :desc, :fetmailalias, :nachname, :picture, :short, :vorname,:memberships_attributes has_many :memberships has_many :gremien, :through=> :membership mount_uploader :picture, PictureUploader def name [vorname, nachname, "(",short,")"].join(" ") end + accepts_nested_attributes_for :memberships scope :active, -> { where(:active=>:true).order(:vorname) } end diff --git a/app/views/fetprofiles/_form.html.erb b/app/views/fetprofiles/_form.html.erb index dcd19db..034eb5e 100644 --- a/app/views/fetprofiles/_form.html.erb +++ b/app/views/fetprofiles/_form.html.erb @@ -17,20 +17,19 @@
<%= f.input :picture, :as=>:file %>
<%= f.input :fetmailalias %>
- <% @fetprofile.memberships.each do |m| %> - <%= semantic_fields_for m do |mf| %> -
+ + <%= f.inputs :for => :memberships do |membership,i| %> +
- <%= mf.inputs do %> -
<%= mf.input :start, :as=>:date %>
-
<%= mf.input :stop %>
-
<%= mf. input :gremium %>
-
<%= mf.input :typ ,:as=>:radio, :collection=>{"mitglied"=>1, "ersatzmitglied"=>2} %>
+ +
<%= membership.input :start, :as=>:date %>
+
<%= membership.input :stop %>
+
<%= membership. input :gremium %>
+
<%= membership.input :typ ,:as=>:radio, :collection=>{"mitglied"=>1, "ersatzmitglied"=>2} %>
+ +
<% end %> <% end %> -
- <% end %> -<% end -end %> +
<%= f.actions do %> diff --git a/app/views/memberships/_form.html.erb b/app/views/memberships/_form.html.erb index d964a24..057e82e 100644 --- a/app/views/memberships/_form.html.erb +++ b/app/views/memberships/_form.html.erb @@ -1,4 +1,4 @@ -<%= semantic_form_for @membership do |f| %> +<%= semantic_form_for [@membership.fetprofile,@membership] do |f| %> <%= f.inputs do %> <%= f.input :gremium, :as=>:radio %> <%= f.input :start %> diff --git a/app/views/memberships/new.html.erb b/app/views/memberships/new.html.erb index 13dc6ad..2e8e5ec 100644 --- a/app/views/memberships/new.html.erb +++ b/app/views/memberships/new.html.erb @@ -2,4 +2,4 @@ <%= render 'form' %> -<%= link_to 'Back', memberships_path %> +<%= link_to 'Back', @membership.fetprofile %> diff --git a/config/routes.rb b/config/routes.rb index 097b915..6b0c621 100755 --- a/config/routes.rb +++ b/config/routes.rb @@ -1,6 +1,6 @@ Fetsite::Application.routes.draw do - devise_for :users + devise_for :users, :controllers => { :omniauth_callbacks => "users/omniauth_callbacks" } resources :home, :only=>[:index] #get 'home',:controller=>home,:action=>:index,:as=>"home_index" scope '(:locale)/admin' do @@ -39,10 +39,10 @@ resources :galleries do resources :fotos end - resources :memberships, :except=>[:new, :show, :edit] + resources :gremien resources :fetprofiles do - resources :memberships, :only=>[:new, :show, :edit] + resources :memberships end resources :lecturers resources :semesters