has_many belongs_to。 Rails 5

时间:2017-05-17 20:59:29

标签: ruby-on-rails ruby-on-rails-5

我有模特:

Group(has_many students).
Student(belongs_to groups).

routes.rb的代码

root 'courses#index'
  resources :students, :teachers, :groups, :courses, :users

该组的def index索引和GroupsController中的def group_params

def index
     @groups = Group.all
end

private
    def group_params
        params.require(:group).permit(:name, :course_id)
end

该组的代码/ index.html.erb

<% @groups.each do |g| %>
        <tr>
            <td><%=link_to g.id, group_path(g)%></td>
            <td><%=link_to g.name, group_path(g)%></td>
            <td><%=link_to g.course.name, course_path(g)%></td>
            **<td><%=link_to g.students.name, student_path(g)%></td>**
<% end %>

我在一组中写了两个学生。如何在索引视图中查看一个组的所有学生的姓名?我尝试改变     g.student.name,

students_path(g), 

<%students.each do%>
   <td><%=link_to g.students.name, student_path(g)%></td>
<% end %>, 

resources :students do
    resources :groups
 end,

resources :groups do
    resources :students
 end

没有人不工作。 请帮助解决这个问题。

1 个答案:

答案 0 :(得分:0)

<强>的routes.rb

resources :groups do
 resources :students
end

<强>基团/ index.html.erb

<% @groups.each do |g| %>
    <tr>
        <td><%=link_to g.id, group_path(g)%></td>
        <td><%=link_to g.name, group_path(g)%></td>
        <td><%=link_to g.course.name, course_path(g)%></td>
        <% g.students.each do |student| %>
         <td><%=link_to student.name, student_path(g)%></td>
        <% end %>
    </tr>
<% end %>