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风格的文件上传表单处理 - 我不知道这些信息可以帮助有人......