簡體   English   中英

在Rails中創建關聯

[英]Create association in Rails

我有模型項目和模型用戶。 我在其中有belongs_and_has_many。 但是現在我需要告訴Rails:這個特定的用戶屬於這個特定的項目。 如何在Project Controller中執行此操作,如何從Project視圖中調用此方法? 非常感謝你。

在項目的* show.html.erb中 *我有:

<select id="user_select" name="user_select" class="input-large">
  <% @users.each do |user| %>
    <option><%= user.username %></options>
  <% end %>
</select>
<!-- button to addfriend method here -->

我需要從此處使用該用戶從選擇到關聯項目的參數中調用方法“ addfriend”:-/

項目控制器中的方法addfiend

def addfriend
      @project = Project.find(params[:id])
      @project.users << User.find(params[:user])
      respond_to do |format|
        format.html { redirect_to project, :notice => 'Added.' }
      end
end

如果在模型項目中,您具有has_and_belongs_to_many :users ,則您的項目對象具有隱式collection用戶,可以像其他任何collection一樣將其添加,例如:

project.users << User.find(:first, :conditions => "name = 'foo'")

這在您的控制器操作中看起來像這樣:

@project = Project.create(:user_id => user_id)

而user_id是您的外鍵(您可能希望從視圖中傳遞的內容)。

該代碼將在某些控制器操作中編寫,並且您必須定義將URL連接到此操作的路由。

請注意,一旦調用了運行此代碼的操作,便可以從視圖中訪問@project。

您可以在此處閱讀有關路線的信息 您可以在此處閱讀有關rails中的mvc的信息 您可以在此處閱讀有關關聯的信息: http : //guides.rubyonrails.org/association_basics.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM