3
我正在使用Ruby on Rails 3.2.2。爲了實現「動態生成」的AJAX樣式文件上傳表格我想「動態添加選項」到FormHelper#form_for
聲明如果某些條件符合。也就是說,在這個時候我使用的代碼,類似如下(請注意,我用的,以選項添加到form_for
方法merge
法):如何「動態添加選項」到「form_for」?
<%
if @article.is_true? && (@article.is_black? || && @article.is_new?)
form_options = {:multipart => true, :target => "from_target_name"}
else
form_options = {}
end
%>
<%= form_for(@article, :remote => true, :html => {:id => "form_css_id"}.merge(form_options)) do |form| %>
...
<% end %>
不過,我認爲上面的代碼被劫持太多了。
有沒有更好的方法來完成我所做的?例如,我可以從視圖模板訪問一些(我不知道)實例變量名爲像@form
和「工作」,以改變相關的選項以及我想嗎?或者,我應該在哪裏陳述一個輔助方法?你如何建議繼續?
BTW:由於上載過程中通過使用HTML iframe中,我使用的是remotipart寶石,以實現AJAX風格的文件上傳表單處理 - 我不知道這些信息可以幫助有人......