【问题标题】:Rails: Add user to project's users collectionRails:将用户添加到项目的用户集合
【发布时间】:2013-05-06 10:32:23
【问题描述】:

我有项目和用户模型,其中包含 belongs_and_has_many。现在我需要将特定用户添加到项目的集合中。我在项目控制器中有方法:

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

我在项目的 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”方法在代码(或其他地方)的标记上添加按钮。

routes.rb 我有:

 resources :projects do
   collection do
     get :addfriend
   end
 end

【问题讨论】:

    标签: ruby-on-rails view collections call


    【解决方案1】:

    假设您在某处定义了一个@project 变量:

    <%= link_to 'Add friend', addfriend_project_path(@project, user_id: user.id) %>
    

    在您的 Projects 控制器操作中,为此更改前 2 行:

    project = Project.find(params[:id])
    @project.users << User.find(params[:user_id])
    

    在你的路线中:

    resources :projects do
      member do
          get :addfriend
      end
    end
    

    【讨论】:

      猜你喜欢
      • 2019-09-21
      • 2017-10-25
      • 1970-01-01
      • 1970-01-01
      • 2021-04-22
      • 1970-01-01
      • 1970-01-01
      • 2017-12-20
      • 2023-03-20
      相关资源
      最近更新 更多