👋
RailsでiPhoneだけinputのsubmitがダウンロードリンクになる
Railsで以下のようなコードを書いていました。クリックするとモデル@Siteがcreateされるものです。
<%= form_tag("/sites/create", method: "post") do %>
<input type="hidden" name="domain" value="<%= result['domain'] %>">
<input type="submit" value="Do Something" onClick="toggleDisplay('<%= result['id'] %>')">
<% end %>
普通はlink_to
で書いたりすると思うのですが、paramsを渡したかったり(これは後から調べたらlink_to
でもpath引数にparamsを渡せばできる)、何よりonclickを使いたかったので、無理やりformで作りました。
しかしこれで実装するとiPhoneで実行時に「'create'をダウンロードしますか?」というポップアップがでる。これはiPhone版Chromeでも出る。
結論、form_withを使ったら出なくなった。。理由は調べたけどなかなか同症状の人がおらず。そもそもProgateで言うLikeすると同じ仕様なので、onClickの所を上手くやればもっと綺麗でブラックボックスでないコードがかけるはずなのだが。。
Discussion