Rails新手:如何将参数从文本框传递到另一个控制器?

时间:2011-05-03 21:03:49

标签: ruby-on-rails

我是Rails的新手,并不太明白我应该做什么。比方说,例如,当用户单击按钮时,我想要一个包含字符串的文本框传递到另一个控制器(另一个页面?)。我该怎么做呢?

控制器的功能是页面,对吗?一个函数可以像普通方法一样获取参数吗? (例如sum(x,y))

2 个答案:

答案 0 :(得分:6)

有关完整信息,请查看Rails Form helpers。基本上,您为form_tag方法指定了一个指向控制器的路径以及您希望处理表单提交的操作。例如,

<%= form_tag(search_path, :method => "get") do %>
    <%= label_tag(:q, "Search for:") %>
    <%= text_field_tag(:q) %>
    <%= submit_tag("Search") %>
<% end %>

此处,search_path指向(在您的路线中定义)的操作和控制器将收到表单提交和文本字段中的值。

您在控制器中的操作是一个函数,但它不会从表单提交中接收作为函数参数的值。相反,您将通过params哈希访问它。在上面的示例中,您可以从文本字段中访问值

params[:q]

答案 1 :(得分:0)

你在用字符串做什么?存储它?将它用作另一页的参数?

我建议你看看Getting Started Guide,仔细阅读,特别注意什么是Rails?部分,它解释了MVC架构和REST(代表性状态转移。)

那里有很多其他的Rails tutuorials,我敢肯定,如果你搜索过这个网站,你会发现很多像这样的问题: https://stackoverflow.com/questions/2794297/how-to-learn-ruby-on-rails-as-a-complete-programming-beginner

  

控制器的功能是页面,对吗?一个函数可以像普通方法一样获取参数吗?

控制器的功能是页面,如果,这是您在routes.rb配置文件中设置的路径。我建议你通过一些教程来了解Rails的用途和工作原理。