Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 从数据库中为联接模型检索列的正确方法?_Ruby On Rails_Ruby On Rails 3_Activerecord_Has Many Through - Fatal编程技术网

Ruby on rails 从数据库中为联接模型检索列的正确方法?

Ruby on rails 从数据库中为联接模型检索列的正确方法?,ruby-on-rails,ruby-on-rails-3,activerecord,has-many-through,Ruby On Rails,Ruby On Rails 3,Activerecord,Has Many Through,我已经通过用户、项目和注册模型的关联获得了很多信息。这个想法是用户可以将一个Prog添加到他的个人资料列表中,Prog可以拒绝或接受用户的请求 以下是accept方法的外观: 报名#接受 我不理解为什么这是不正确的,如果我在accept方法中理解正确,注册必须获取user.id和prog.id以从数据库检索数据。因此,user.id与link_一起传递给,但如何显示prog.id以帮助注册查找我需要的列 <% @prog.users.each do |user| %> &l

我已经通过用户、项目和注册模型的关联获得了很多信息。这个想法是用户可以将一个Prog添加到他的个人资料列表中,Prog可以拒绝或接受用户的请求

以下是accept方法的外观:

报名#接受

我不理解为什么这是不正确的,如果我在accept方法中理解正确,注册必须获取user.id和prog.id以从数据库检索数据。因此,user.id与link_一起传递给,但如何显示prog.id以帮助注册查找我需要的列

  <% @prog.users.each do |user| %> 
  <%= link_to "#{user.email} accept", controller: "/enrollments", action: "accept", id: user.id, method: "post" %>
  <% end %>


我想如果这是真的,那么我会错过一些基本的东西,让我知道我应该专注于什么来让它工作。谢谢。

如果我理解正确,您只需要将两个参数(用于user\u id和prog\u id)传递到链接,并用这两个参数查找注册。 视图:

  <% @prog.users.each do |user| %> 
  <%= link_to "#{user.email} accept", controller: "/enrollments", action: "accept", id: user.id, method: "post" %>
  <% end %>
<%= link_to "#{user.email} accept", controller: :enrollments, action: :accept, user_id: user.id, prog_id: @prog.id, method: :post %>
@enrollment = Enrollment.find_by_user_id_and_prog_id params[:user_id], params[:prog_id]