Ruby on rails =按钮_to如果已在其他表单中,则不生成表单
在“创建”和“编辑”(在我的案例中为“新建”和“预览”)中使用相同的部分表单。 分部看起来有点像这样(我使用HAML) 但是在html输出中Ruby on rails =按钮_to如果已在其他表单中,则不生成表单,ruby-on-rails,forms,haml,Ruby On Rails,Forms,Haml,在“创建”和“编辑”(在我的案例中为“新建”和“预览”)中使用相同的部分表单。 分部看起来有点像这样(我使用HAML) 但是在html输出中 ... <input type="submit" value="select contacts and send"/> <input type="hidden" value="rwYnZlEpWV4dR89zjgprEALBYmP0xqM3lnKt9JDLyak=" name="authenticity_token"/> <i
...
<input type="submit" value="select contacts and send"/>
<input type="hidden" value="rwYnZlEpWV4dR89zjgprEALBYmP0xqM3lnKt9JDLyak=" name="authenticity_token"/>
<input type="submit" value="save and preview" name="commit"/>
...
。。。
...
为什么按钮不生成要形成的按钮
一个解决方案是将按钮保持在分部之外,并且每个表单仅1个,
但是我怎么能有两个相同形式的按钮呢
编辑:
另一个解决方法是,如果按下按钮并提交表单,javascript会设置一个隐藏复选框,在控制器中将它们分开。HTML实际上不允许嵌套表单。有些浏览器确实如此,但你会在其他浏览器中看到一些疯狂的行为。您显示的HTML是原始输出还是firebug计算的DOM 处理此情况的首选方法是将
按钮移动到另一个表单之外的。如果你对只使用JS的选项很酷,你可以使用link\u to:method=>:post
,并将链接设计成按钮的样式。最后使用了
:name => 'otheraction'
在控制器中,然后检查
params[:commit] or params[:otheraction]
在params散列中我构建了一个名为按钮链接到的gem
使用button_link_to方法将生成button标记,但没有嵌套的by form标记
就像使用链接一样使用它
您可以从这里获得更多信息:
如果您想观看演示:
params[:commit] or params[:otheraction]