我想要实现的是列出每个成员与学校,然后列出所有所有成员的学校。学校可以有很多成员,成员也可以有很多学校。我在系统中设置了以下设置,但在找到解决方案时遇到问题。这是我的代码看起来像:问题和错误消息:找不到学校'id'=
控制器:
class MembersController < ActionController::Base
before_action :set_school
def index
@members = Member.all
end
def new
@member = Member.new
end
def create
@member = Member.new(member_params)
@member.school = @school
@member.save
redirect_to members_path
end
private
def set_school
@school = School.find(params[:school])
end
def member_params
params.require(:member).permit(:name, :email,:school)
end
end
这是我的路线:
Rails.application.routes.draw do
get 'schools/index'
resources :members
resources :school
end
我的看法是这样的:
<% @members.each do |member| %>
<%= member.name %>
<%= member.email %>
<%= member.school %>
<% end %>
模型成员:
class CreateMembers < ActiveRecord::Migration[5.0]
def change
create_table :members do |t|
t.string :name
t.string :email
t.timestamps
end
end
我校示范:
class CreateSchools < ActiveRecord::Migration[5.0]
def change
create_table :schools do |t|
t.string :name
t.timestamps
end
和参考:
class AddSchoolRefToMembers < ActiveRecord::Migration[5.0]
def change
add_reference :members, :school, foreign_key: true
end
任何帮助将是巨大的!谢谢!
网址应该如何适合您的新操作?它是'example.com/members/new?school = someid'或只是'example.com/members/new'? – niceman
example.com/members/new – gerazoli
@ashvin'资源:成员'确实允许查询参数:) – niceman