在 ruby​​ on rails 中无法从表单参数中检索数据

Posted

技术标签:

【中文标题】在 ruby​​ on rails 中无法从表单参数中检索数据【英文标题】:Retriving data from form params is not possible in ruby on rails 【发布时间】:2013-05-15 05:46:52 【问题描述】:

在我的 Ruby on Rails 应用程序中

in my controller i have two action methods,first one is for load data and second one for saving data.

起初我为这两种操作方法写了两个不同的视图,如下所示

def index
-------
end

以及对应的视图如下..

<%= form_tag :action=>:save do %>
 -------
  <%= text_field_tag  templateitem.name %>
   ------
 ------
<%= submit_tag "save"%>
<%end%>

像上面一样,它包含一些输入项,如单选按钮、复选框..等

另外一个动作方法如下,所有数据从视图中读取并保存到数据库中

def save

--here i read the parameter values as follows 

 templateItem.value=params[templateItem.name]

end

然后我为保存的数据编写了一个视图,它工作正常。

但我的要求是将保存的数据加载到同一索引页面中,因为我包含了我在保存视图中编写的所有代码都包含在索引页面中,然后保存操作方法更改如下

 def save

--here i read the parameter values as follows 

 templateItem.value=params[templateItem.name]
 --- saved into database

 return  redirect_to :action => 'index',:encounterid=>1 

end

然后它不起作用,我发现这里的问题是没有从视图读取数据,但它重定向到下一个视图,正如我上面提到的操作方法,我没有找到解决这个问题的方法,请帮我解决这个问题。 .

【问题讨论】:

您应该阅读ActionView::Helper::FormHelper 和REST API 的文档。 【参考方案1】:

仅传递参数。重定向后它们被销毁。因此它们在您的索引操作中无法访问

【讨论】:

如果调用保存视图,则检索参数值,如果我调用重定向页面,则不检索参数值。我的问题是如何读取这些输入以进行重定向。 你可以在 redirect_to 中传递参数 redirect_to :controller => 'blah blah', :action => 'index, :param1 => 'blah blah', :param2 => 'something'

以上是关于在 ruby​​ on rails 中无法从表单参数中检索数据的主要内容,如果未能解决你的问题,请参考以下文章

Ruby on Rails:搜索表单 - 多个搜索字段

如何使用 Ruby on Rails 5 将数据从 URL 提取到表单中

Ruby on Rails 表单中的 select 和 onChange

如何在 ruby​​ on rails 中发布数据

ruby on rails has_many 关系表单验证孩子

Ruby on Rails:提交表单时“您想要的更改被拒绝”