- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
虽然问题在“Passing Multiple Parameters in a form_tag” ' 提供了一些关于如何在 form_tag 中传递参数的信息,张贴者最终决定采用不同的方法来实现上述目的(特别是使用隐藏的表单字段)。
当尝试在如下 View 中使用一行代码时:
form_tag(movies_path({:foo = "bar"}), {:id => "ratings_form", :method => :get}) do
似乎 RoR 不会使“foo”的值对 Controller 可用;在这种情况下,是否应该使用另一种语法将参数作为路径的一部分传递?
如果希望将参数作为 URL 的一部分传递,人们会认为这种方法是正确的(而且,事实上,生成的 HTML 表明了这一点,因为生成的 <form>
标记包含一个 action="/movies?foo=bar"
语句) ... 但 Controller 评估 params[:foo]
作为''
而不是 bar
?)
最佳答案
我认为这里有两个基本问题在起作用......
首先是实参传递自身。 The specification指定使用 GET
方法将表单数据集附加到 URI,使用 POST
方法,将表单数据集包含在表单主体中。提交表单会从表单字段生成参数,即使它是一个 GET
请求(如您指定的那样)并且已指定 URL 参数(指定的 URL 参数不是 URI 的一部分)。除非你想要“可链接”状态,比如搜索表单,否则最好坚持使用 POST
提交表单。
在我看来,第二个问题相当普遍。 Rails routing system对于很多人来说,起初很难理解。接下来,我将假设 movies_path
来自 routes.rb 文件中相应的 resources :movies
行。如果是这样,则路由未设置为在 URL 中传递信息,该 URL 将是 /movies
。还将有一个 movie_path
设置为通过 URL 将信息传递给 Controller 。一个常见的用法是使用资源正在建模的对象类型的实例作为参数,例如 movie_path(@movie)
。这种类型的用法将在传入的对象上运行 to_params
,默认情况下返回对象的 id(但可以很容易地覆盖)。这导致 params[:id]
在 Controller 中可用。如果您只想发送不受资源支持的任意信息作为 URL 的一部分,以便在 Controller 中可用,您可能只想定义一个自定义路由来执行此操作,如下所示:
match '/movies/:foo' => 'movies#index', :as => :movies
这将使 Controller 中的 params[:foo] == 'bar'
像这样使用时:
movies_path('bar')
无论如何,希望这对您有所帮助,祝您好运。
关于html - rails form_tag _path 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13262123/
我在 Rails 中遇到问题。我可能是个愚蠢的问题,但请给我建议。 有什么区别: 'post') do %> 和: 'post') do %> 请给我一些建议。 最佳答案 他们做同
我想像这样在 rails 中使用两个 form_tag, ................ 但是内部 form_tag 的 Action 采取第一个 form_tag
我有一个 helper ,我用它来生成一个表单。用于生成表单字段的参数被传递到帮助器中。我不知道如何在模板外使用块。 例如: def generate_form(path, fields) f
我想弄清楚如何在 发射器中预示一个 Ruby 块。 '' 部分没有问题,但是当我深入研究 Rails 内部时 看看它是如何使用erb处理模板的,生成的ruby代码是无效的, 由于那个挂“做”。是否有
我的路线如下所示: resources :teams do resources :plans do resources :charges end ... 我想使用指向我的 char
我有一个看起来像这样的表单标签表单 = label_tag 'fund', 'Fund' = select_tag :fund_id, options_for_select(?????
我想在单击提交按钮时调用 JavaScript 函数。我使用了 form_tag ,但该函数没有被触发。我想要如下所示的内容: 'start_form_request(); ' ,:onComple
我有一个名为搜索的模型,用于从数据库中渲染数据,使用索引方法我正在访问来自 3 个模型的数据,并将其显示在索引页面上。我在索引页面本身中使用 form_tag, "get",
我一直在关注这个视频http://railscasts.com/episodes/240-search-sort-paginate-with-ajax?autoplay=true我试图以另一种形式搜索
我正在尝试通过 Rails 4 中的 form_tag 提交一组电子邮件。 新的.html.erb: ... ... _add_user.html.erb: ...
使用 Rails 4 和 Bootstrap 3。 我有一个基本的登录表单。但是,我无法在任何设备上很好地格式化它。在较小的设备上,它是不可用的。诊断后,我相信行的右边距很大。但是,我无法确定导致该问
在 form_tag 中,有一个包含 10 到 15 个复选框的列表: 如何通过 RJS 选择所有(在每个复选框中打勾)复选框?谢谢 编辑:抱歉,我没有说清楚我的问题。我的意思是问如何在同一页面中添
我有 23(列)x6(行)表并使用 link_to_remote 函数更改行。每个 tr 标签 都有自己的 id 属性。 change 链接调用 change Action 并且 change Act
嗨,我已经在以下问题上停留了好几天了,我只是不知道出了什么问题... 我的部分 View 中有以下 form_tag 代码,它通过从主视图远程添加到购物车显示: :put do %>
在我的网上商店中,我想在将产品添加到购物车之前进行验证 我的 order_item 表格在产品展示中 我想强制用户选择尺寸,如果没有选择尺寸则显示错误消息? 尺寸是产品的嵌套属性 我应该怎么写呢?
我试图让表单标签在 rails 3 中工作,但我不断收到路由错误: 没有路由匹配 {:action=>"search", :controller=>"posts"}。 这是 for_tag 的代码:
我正在学习这个简单的教程 http://railscasts.com/episodes/37-simple-search-form这似乎很棒,但是我的表单标签似乎不起作用。这是我的html代码!表单标
我有一个名为 assignment 的模型,它有很多 :questions 模型,而这些模型又属于 assignment。问题有一个名为内容的字符串字段。在我的作业的 show.html.erb 中,
我正在尝试在 Rails 中创建一个简单的搜索表单,但我想我错过了一些东西。 我有一个命名的搜索路线: map.search ":first_name/:last_name", :controller
我想知道如何将“数据提供”属性放入 Rails form_tag 中?我想要的 html 输出是... 但是在 form_tag 中,我不能只做类似的事情 "typehead" %> 如何在表单标
我是一名优秀的程序员,十分优秀!