在 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 5 将数据从 URL 提取到表单中
Ruby on Rails 表单中的 select 和 onChange