Rails:DropDown选择控制器操作
美好的一天,我有这个表单视图/ startseites / index.html.erb,我在我的people_controller中指定了一个方法,她没有去。 我准备了一些幽灵代码来理解。 我想将带有button_to标记的下拉列表中的条目提供给控制器操作checkValid。 我想要根据数据库validation条目。 我必须从表中读取和写入。 我希望它足够清楚。
class PeopleController < ApplicationController def checkValid @trainerName = params[:trainer_name] @sportlerName = params[:sportler_name] @trainerPID = params[:trainer_pid] @sportlerPID = params[:sportler_pid] #checks if sportlerID is null @person = Person.find(params[:sportler_pid]) id = Person.sportler_id if id = nil then Person.sportler_id = params[:trainerPID] else puts "Sportler can have only one Trainer!" end end ...
view / startseites / index.html.erb:这段代码不行
这应该将下拉选择发送到控制器操作checkValid()。 我该如何使用参数?
"checkValid", :controller =>"people" %>**
Jeder Sportler kann ein Trainer haben. Trainer "Trainer") %> Sportler "Sportler") %> ** "checkValid", :controller => "people") %>**
我将此行添加到我的路线中
match '/people/checkValid', :controller => 'people', :action => 'checkValid'
但是:没有路由匹配{:controller =>“people / checkValid”,:method =>:checkValid}
不,我认为它会发生
模板丢失了
Missing template people/checkValid, application/checkValid with {:locale=>[:en], :formats=>[:html], :handlers=>[:erb, :builder, :coffee]}. Searched in: * "C:/Users/jord/testmood/app/views"
Missing template
错误指的是缺少视图。 您应该在app/views/people/
目录中有check_valid.html.erb
视图文件。
此外,在应用程序目录中的任何位置的命令行上运行rake routes
。 您将收到routes.rb文件生成的列表路由。 如果people#checkValid
存在,你可以仔细检查那里。
顺便说一下,您可能希望将checkValid
更改为check_valid
以便遵循Rails中的操作的命名约定。