我可以从 Rails 4 中的按钮提交传递参数吗?
Can I pass params from button submit in Rails 4?
我正在尝试做一些简单的事情:在我的Rails视图中,我有一个文本输入,我想捕获并附加到参数中。我发现了一个类似的问题,但我想知道我是否可以在不更新控制器的情况下内联完成。
首先,在视图中,我有一个表单输入和一个 Rails 链接。这些现在独立工作进行测试,但我可以在单击按钮时将用户名作为参数传递:
<form>
<input type="text" name="name">
</form>
<%= button_to 'Call Action', points_path(username: @current_user.last.username), method: :post %>
我想删除@current_user.last.username
,而是将用户在输入中键入的内容作为参数传递。
有没有办法在控制器中没有子操作的情况下做到这一点,如上所述(通过帮助程序或将Javascript与我的Rails链接一起使用)?
您正在尝试提交表单,让我们以 Rails 的方式进行,
<%= form_for :points, points_path do |f| %>
<%= f.text_field :name %>
<%= f.submit %>
<% end %>
在操作中,您可以通过以下方式访问name
参数params[:points][:name]
希望对您有所帮助!
- 将 javascript 单击事件附加到阻止默认行为的按钮。
- 在单击事件中,获取输入元素的值并将其追加到 url
var go_to = "/path/to/action?param_name=" + input_value
。
- 在单击事件中,获取输入元素的值并将其追加到 url
- 然后重定向到该网址。
看起来您正在使用 post 方法,因此您可以像表单提交一样查看 JavaScript post 请求,其中包含有关如何在不使用 ajax 的情况下从 JavaScript 发布的说明 - 简而言之,您可以即时制作表单并提交。
编辑
@RSB做对了 - 这是轨道的方式。如果您坚持使用按钮和独立输入而不是表单,则可以按照我描述的方式进行操作...但我认为你最好听从@RSB的建议。
相关文章:
- jqGrid - 将表单数据提交到 jqGrid,并让 jqGrid 使用这些参数获取数据
- 我可以从 Rails 4 中的按钮提交传递参数吗?
- 我可以使用URL路径提交参数吗
- 使用提交按钮参数自动提交表单
- 提交前筛选表单参数
- 提交输入类型=“;图像“;到另一个servlet时,未能返回任何参数
- bookmarklet在url中添加一个参数并重新提交
- 在提交时更改HTML Post参数
- 在表单提交时使用 URL 发送路由参数
- 日期选取器问题,尝试提交除日期值之外的其他参数
- Struts1 处理程序参数在从引导对话框提交时未传递
- Jqgrid 在第二次获取调用后在查询字符串中提交错误的参数
- Spring提交具有双参数
- 表单提交将取消URL查询字符串中的一个参数
- 在提交表单时停止添加URL参数
- PHP/MySQL-数据库数据的复选框,提交2个参数
- 通过Javascript提交带有参数的表单
- 参数没有从带有javascript的提交表单中获取
- jQuery表单提交后的冗余参数
- 使用onclick事件将两个参数提交到同一个servlet中