【发布时间】:2014-12-19 17:31:31
【问题描述】:
我在 Rails 中有一个相对简单的表单,我用它来发送电子邮件以获得两种不同的预览,一个桌面预览和一个移动预览。
<form id="email-form" role="form" action="<%= action_name == 'desktop_preview' ? email_preview_newsletter_path(@newsletter) : email_preview_newsletter_path(@newsletter, mobile: 'true') %>">
<label for="email_address">Email</label>
<input type="email" id="email_address" name="email_address" value="<%= params[:email_address] %>" placeholder="PLEASE ENTER EMAIL">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
<input type="submit" value="Send" class="btn btn-primary"></input>
</form>
现在我已经进行了设置,以便将两个预览发送到同一个端点“/email_preview”,但在 mobile_preview 的情况下,我想传入一个“mobile”查询字符串,以便它最终看起来像这个:
'/email_preview?mobile=true'
当我检查页面上的表单时,一切看起来都井然有序,但是当它传递给控制器时,查询字符串的“移动”部分消失了,只存在“电子邮件地址”。
我想我可以将移动值作为隐藏字段传递,但我觉得这不太合适。设置此表单的最佳方法是什么,以便“mobile”和“email_address”键值对在发送到控制器时作为查询字符串传递?
【问题讨论】:
标签: ruby-on-rails forms post get params