2011-09-25 51 views
0

我有一個基本的用戶/成員/組試圖建立一個基本的加入:的has_many:通過

我希望用戶導航到組#表明,如果用戶登錄他們顯示了「加入」按鈕,如果用戶沒有登錄,他們將被提供一個鏈接到登錄/註冊。

我可以處理如果登錄的東西使用設計。我不知道該怎麼做的一件事就是加入......我想弄明白的是我認爲的視圖代碼。我不需要任何人編寫代碼。只是指出我在正確的方向,我會弄清楚...

我有這個設置的所有基本代碼。表格被創建,模型存在......關係被實例化。

我目前成員控制器

def create 
    @membership = current_user.memberships.build(:group_id => params[:group_id]) 
    if @membership.save 
    flash[:notice] = "You have joined this group." 
    redirect_to :back 
    else 
    flash[:error] = "Unable to join." 
    redirect_to :back 
    end 
end 

def destroy 
    @membership = current_user.memberships.find(params[:id]) 
    @membership.destroy 
    flash[:notice] = "Removed membership." 
     redirect_to :back 
end 

任何方向將是巨大的

回答

0

你說你不想實際的代碼,所以這裏有幾個要點:

  • 你需要一個表格。
  • 此表格需要發佈到您在問題中顯示的create動作。
  • 您需要發佈正確的group_id

您是否需要更多指針?看看Rails Guides,他們很不錯!

+0

rdvdijk,謝謝你的提示。它有助於。我試圖學習,而不是隻獲取代碼來解決我的問題......所以我創建了一個form_tag,並在其中放置了一個帶有group.id的隱藏標記,並放置了一個button_tag來包裝它。但create_memberships_path不起作用。我應該修改常規資源:會員資格幷包含集合嗎?謝謝 –

+0

仔細查看錶單操作。這應該指向你的「創造」行動。比較生成的HTML和'rake routes'的輸出。 – rdvdijk

+0

我正在嘗試以下在我的組#show view中。我想要用戶加入羣組...: <%= form_tag(create_membership_path,:method =>'post')do%> <%= hidden_​​field_tag @ group.id%> <%= button_tag「加入羣組」% > <% end %> 有什麼想法? –