2017-05-26 167 views
1

我试图总结我的周围轨道上形成头和我试图实现一个非常简单的注册页面。本质上,它将采用一个名称和一封电子邮件,对参数进行消毒,然后将其嵌入到MySQL中。POST参数传递给方法轨

我有生成表单验证码:

<%= form_tag(controller: "root", action: "register", method: "post", class: "root") do %> 
     <%= label_tag(:n, "Name:") %> 
     <%= email_field(:n, "name") %> 
     <%= label_tag(:e, "Email:") %> 
     <%= email_field(:e, "email") %> 
     <%= submit_tag("Register") %> 
    <% end %> 

这似乎是工作,这是路线:

post '/' => 'root#register' 

这似乎也做工精细,这是控制器:

class RootController < ApplicationController 
    def root 

    end 

    def register(name,email) 

    end 
end 

但是,我收到以下错误,所以我想知道如何将我的参数粘贴到我的POST中re追求,让他们传递给方法。

Error Screenie

我已经围绕谷歌一看,似乎无法得到答案。

+1

你怎么学习rails,我想知道? _Any_ rails教程(不提书籍)解释了如何处理参数。 –

回答

4

是的,这就是现在你在处理轨道参数。这是如何。

def register 
    name = params[:name] 
    email = params[:email] 
    ... 
end 
+0

谢谢,这回答了我的问题!你介意到底如何解释未来访问者的工作原理吗?例如,为什么正常的红宝石参数不起作用? –

+0

@JamesHughes:不用担心,未来的访问者不可能找到你的问题。这是无法实现的,一旦停止接受编辑和其他活动,它就会在历史中丢失。 :)至于解释:控制器操作不是你的“普通”方法。你不直接打电话给他们,因此,他们可以接受任何他们想要的信息。正如我在上面的评论中提到的,这个问题应该在任何rails书中得到很好的解释。 –

+0

谢谢,我也许应该只是得到一本书,而不是依靠我的其他编程知识尝试即席它... –