我正在尝试将表单的输入链接到我的 rails 应用程序中的特定操作。
目前,如果我去www.myapp.com/check/:idNumber
,我将能够很好地触发动作(这意味着路由设置正确?)。这个动作基本上是对 ruby/rails 脚本的函数调用,参数“idNumber”被传递给它。如果函数成功,它将返回一个新创建的“Person”对象,否则返回 nil。这与标准new
操作不同,因为它根据从其他地方的数据库中获得的一些信息来确定属性。
耙路线确实给了我以下信息:
check /check/:idNumber(.:format) person#check {:id=>/\d+/}
我无法实现的是表单本身。
<%= form_tag("/check", :method => "get") do %>
<%= text_field_tag(:idNumber) %>
<% end %>
控制器动作:
def check
regCheck = RegCheck.new
@person = regCheck.check_id(params[:idNumber])
if @person.name == nil
redirect_to root_path
end
end
提交上面的表格会带我去myapp.com/check?utf8=✓&idNumber=1234
。有人可以告诉我我做错了什么吗?