如何使用 ruby on rails 3.1 将 html 表单数据发布到控制器
问题描述:
我在 rails 3.1 上使用 ruby.并试图将 html 表单数据发布到控制器以将记录保存在数据库中.但是我收到这样的路由错误 'No route matching [POST] first/save' .但是当我尝试在地址栏中运行此链接时,如 '127.0.0.1:3000/first/save' 它工作正常.谁能告诉我哪里做错了.
I am using ruby on rails 3.1. And am trying to post html form data to controller for saving the record in database. But I am getting routing error like this 'No route matches [POST] first/save' .But when I tried to run this link in address bar like '127.0.0.1:3000/first/save' it is working fine. Can any one please tell me where am doing wrong.
我的路线如下:
Rails.application.routes.draw do
root 'first#hello'
get 'first/save'
end
我的 html 表单就像:
And my html form is like:
<form accept-charset="UTF-8" method='post' action='/first/save'>
<label for='S.No'>S.No</label>
<input type="text" name="s_no" placeholder='Enter s. no.'>
<label for='name'>Name</label>
<input type="text" name='name' placeholder='Enter your name'> <br>
<label for='seller_id'>Seller ID</label>
<input type="text" name='seller_id' placeholder='Enter your seller ID'> <br>
<label for='email'>Email</label>
<input type="email" name='email' placeholder='Enter your email'> <br>
<label for='img_url'>Image</label>
<input type='text' name='img_url' placeholder='Enter your image url'> <br>
<input type="submit" name='save' value='Save'>
</form>
这是我的控制器:
class FirstController < ApplicationController
def save
@name = params[:name]
@email = params[:email]
@seller_id = params[:seller_id]
@img_url = params[:img_url]
@s_no = params[:s_no]
end
end
答
如果你想做 POST 请求,而不是
If you want to do POST requests, instead of
get 'first/save'
你应该有
post 'first/save'