我正在尝试切换到使用image_submit_tag而不是submit_tag,这样我就可以看到一个漂亮的按钮。但参数列表正在被破坏:
<% form_tag 'reports', {:method => 'get'} do %>
...
image_submit_tag("image.png", :name => 'filter')
...
这会转换为以下HTML:
<form action="reports" method="get">
...
<input name="filter" src="/images/add_filter.png?1391926927" type="image">
...
对我来说很好看,但是当控制器函数被调用时,我得到了这个参数列表:
{"filter.y"=>"9", "filter.x"=>"9", "controller"=>"reports", "action"=>"index"}
我使用名称来确定按下了什么按钮。 x和y值如何合并到我的名字中?它适用于常规的submit_tag。
我发现this thread触及了x和y值,但没有提到为什么它们会被合并到名称字段中。绝对奇怪。任何帮助表示赞赏!对于仍然在RoR 2.3上没有无关紧要的批评。
答案 0 :(得分:0)
这不是很好,但我只是发现,如果我同时指定
,它的工作正常:name => 'filter'
和
:value => 'filter'
如果我只指定一个或另一个,它就不起作用。我仍然得到filter.x和filter.y参数,所以它有点hackish。如果有人知道为什么会这样,或者有一个不那么强硬的解决方法,我会选择你的答案而不是这个。