我对铁轨比较陌生,所以请耐心等待。
我有一个资源:examen与资源的has_one关系:aanwezigheidslijst。
在aanwezigheids_controller中,我已准备好编辑所有内容" aanwezigheidslijst"。
现在我遇到的问题是编辑时(特别是通过勾选复选框来显示学生是否参加)每个人都可以使用#34; aanwezigheidslijst"当我提交表格时,它会提交给索引' (就像我想的那样)但显然没有对mysql数据库进行任何更改。
没有弹出错误,布局就像我想要的那样,它只是代表布尔值的复选框" aanwezig"我提交时没有更新。
与mysql数据库的连接可以与应用程序的其他部分一起使用。
非常感谢任何解决方案。
修改
建议我看看日志文件。我认为未经许可的参数与它有关吗?任何人都可以澄清吗?日志文件:
Started PATCH "/aanwezigheidslijst/2/edit" for 127.0.0.1 at 2015-02-21 16:12:14 +0100
Processing by AanwezigheidslijstController#update as HTML
Parameters: {"utf8"=>"✓", "authenticity_token"=>"uxgvXaOPs66wtYBntTr907RN4yfC0vLTfresXPURBow=", "aanwezigheidslijst"=>{"1"=>{"student"=>"Tom Nys", "aanwezig"=>"1"}, "2"=>{"student"=>"Jan de Roeck", "aanwezig"=>"1"}, "3"=>{"student"=>"Nick van Heertum", "aanwezig"=>"0"}}, "commit"=>"Save Aanwezigheidslijst", "id"=>"2"}
[1m[35mAanwezigheidslijst Load (0.0ms)[0m SELECT `aanwezigheidslijsts`.* FROM `aanwezigheidslijsts` WHERE `aanwezigheidslijsts`.`id` = 2 LIMIT 1
Unpermitted parameters: 1, 2, 3
[1m[36m (1.0ms)[0m [1mBEGIN[0m
[1m[35m (0.0ms)[0m COMMIT
Redirected to http://localhost:3000/aanwezigheidslijst/index
Completed 302 Found in 8ms (ActiveRecord: 1.0ms)
aanwezigheidslijst migration:
class CreateAanwezigheidslijsts < ActiveRecord::Migration
def change
create_table :aanwezigheidslijsts do |t|
t.string :student
t.boolean :aanwezig
t.timestamps
end
end
end
aanwezigheids_controller.rb:
class AanwezigheidslijstController < ApplicationController
def index
@aanwezigheidslijst = Aanwezigheidslijst.all
@examen = Examen.all
end
def edit
@aanwezigheidslijst = Aanwezigheidslijst.where(:examen_id => params[:id]).all
end
def update
@aanwezigheidslijst = Aanwezigheidslijst.find(params[:id])
if @aanwezigheidslijst.update(aanwezig_params)
redirect_to aanwezigheidslijst_index_path
else
render 'edit'
end
end
private
def aanwezig_params
params.require(:aanwezigheidslijst).permit(:student, :aanwezig)
end
end
edit.html.erb:
<div class="tblAanwezig">
<div class="col-xs-6 col-sm-3">
<table class="table table-bordered table-condensed" style="max-width: 300px;">
<thead>
<tr>
<th scope="col">Student</th>
<th scope="col">Aanwezig</th>
</tr>
</thead>
<%= form_tag edit_aanwezigheidslijst_url, :id => 'al_form', method: :patch do %>
<% @aanwezigheidslijst.each do |aanwezigheidslijst| %>
<%= fields_for "aanwezigheidslijst[]", aanwezigheidslijst do |al| %>
<tbody>
<tr>
<td> <%= al.text_field :student %></td>
<td><%= al.check_box :aanwezig %></td>
</tr>
</tbody>
<% end %>
<% end %>
</table>
<%= submit_tag "Save Aanwezigheidslijst" %>
<% end %>
</div>
</div>
的routes.rb
Rails.application.routes.draw do
get 'aanwezigheidslijst/index'
patch 'aanwezigheidslijst/:id/edit' => 'aanwezigheidslijst#update'
get 'examen/index'
get 'comments/new'
post 'comments/new'
get 'comments/update'
get 'comments/create'
get 'application/application'
resources :comments
resources :aanwezigheidslijst
root 'comments#index'
end