Ruby on rails RubyonRails无法';我找不到没有身份证的学校
我在我的项目中有很多关联,基本上我有一个Ruby on rails RubyonRails无法';我找不到没有身份证的学校,ruby-on-rails,Ruby On Rails,我在我的项目中有很多关联,基本上我有一个学校模型,一个班级模型和一个关系模型 学校模式 我对学校的新看法 名称 代码 城市 状态 s、 id)%%> 最后是我对教室的新看法 名称 代码 罗尔诺 唯一代码 现在的问题是,新类操作已正确呈现,但当我单击submit时,它会出现一个错误,提示找不到没有ID的学校,这是不正确的,因为您使用的是(@School)form_ 取代 params[:school][:school_id] 在学校表单中,不需要为School\u id添加表单字段,因为
学校
模型,一个班级
模型和一个关系
模型
学校模式
我对学校的新看法
名称
代码
城市
状态
s、 id)%%>
最后是我对教室的新看法
名称
代码
罗尔诺
唯一代码
现在的问题是,
新类
操作已正确呈现,但当我单击submit时,它会出现一个错误,提示找不到没有ID的学校
,这是不正确的,因为您使用的是(@School)form_
取代
params[:school][:school_id]
在学校表单中,不需要为
School\u id
添加表单字段,因为在创建学校类的新对象时,rails本身生成唯一的School\u id
。删除此字段后重试 什么是school\u id
school表中的字段或relationship
表在我看来像是基于您的关系的关系表感谢您的建议,我从《敏捷web开发》一书中找到了一些解决方案。nways感谢您的帮助。
class ClassRoom < ActiveRecord::Base
validates :class_id,:class_name,:roll_no,:unique_code,presence:true
has_many :relationships
has_many :schools,through: :relationships
end
class Relationship < ActiveRecord::Base
belongs_to :school
belongs_to :class_room
end
class SchoolsController < ApplicationController
def new
@school=School.new
@schools=School.find(:all)
end
def create
@school=School.new(params[:school])
if @school.save
flash[:sucess]="School saved successfully"
redirect_to root_url
else
render new
end
end
def destroy
School.find(params[:id]).destroy
flash[:success]="Deleted successfully"
redirect_to root_url
end
end
class ClassRoomsController < ApplicationController
def new
@classrooms=ClassRoom.find(:all)
@school=School.find(params[:school_id])
@classroom=@school.class_rooms.build
end
def create
@school=School.find(params[:school_id])
@classroom=@school.class_rooms.build(params[:class_room])
if @classroom.save
flash[:sucess]="clasroom saved successfully"
redirect_to root_url
else
render new
end
end
end
Attend::Application.routes.draw do
root :to => 'schools#new'
resources :schools do
resources :class_rooms
end
resources :schools
resources :class_rooms
end
<% provide(:title,'My schools') %>
<div class="row">
<div class="span6 offset3">
<%=form_for(@school) do |f| %>
<%render 'shared/error_messages' %>
<%=f.label :school_id %>
<%=f.text_field :school_id %>
<%=f.label :school_name %>
<%=f.text_field :school_name %>
<%=f.label :city %>
<%=f.text_field :city %>
<%=f.label :state %>
<%=f.text_field :state %>
<%=f.submit class:'btn btn-large btn-primary' %>
<%end%>
<%=link_to 'Myclass',new_class_room_path %>
</div>
</div>
<div class="row">
<div class="span6 offset3">
<table border="2">
<tr>
<th>Name</th>
<th>code</th>
<th>city</th>
<th>state</th>
<th></th>
</tr>
<% @schools.each do |s| %>
<tr>
<td><%=link_to s.school_name,new_class_room_path(:school_id=>s.id) %></td>
<td><%=s.school_id %></td>
<td><%=s.city %></td>
<td><%=s.state %></td>
<td><%=link_to 'Delete',s,method: :delete,confirm:'Are you sure' %></td>
</tr>
<%end%>
</table>
</div>
</div>
<% provide(:title,'My schools') %>
<div class="row">
<div class="span6 offset3">
<%=form_for(@classroom) do |f| %>
<%render 'shared/error_messages' %>
<%=f.label :class_id %>
<%=f.text_field :class_id %>
<%=f.label :class_name %>
<%=f.text_field :class_name %>
<%=f.label :rolln_o %>
<%=f.text_field :roll_no %>
<%=f.label :unique_code %>
<%=f.text_field :unique_code %>
<%=f.submit class:'btn btn-large btn-primary' %>
<%end%>
</div>
</div>
<div class="row">
<div class="span6 offset3">
<table border="2">
<tr>
<th>Name</th>
<th>code</th>
<th>rollno</th>
<th>uniquecode</th>
</tr>
<% @classrooms.each do |room| %>
<tr>
<td><%=link_to room.class_name%></td>
<td><%=room.class_id %></td>
<td><%=room.roll_no %></td>
<td><%=room.unique_code %></td>
</tr>
<%end%>
</table>
</div>
</div>
params[:school_id]
params[:school][:school_id]