1

レポート生成用のパラメーターを収集するための形式的なフォームがあります。formtastic がモデルで使用するように設計されていることは知っていますが、フォームがアクティブな管理ページにあるため、ここで使用する必要があります。

すべてうまく機能していますが、選択のデフォルト値を設定できません。これを機能させるために、「卑劣なハック」を実装したいと思っています。フォームにデフォルト値を設定するためだけに偽のモデルを実装したくありません。

フォームコードは次のようになります

<%= semantic_form_for "report", :url => report_admin_payments_path do |f| %>
  <%= f.inputs do %>
    <%= f.input :report_type, :as => :select, :collection => report_types, :input_html => {:style => "width:180px"}  %>    
    <%= f.input :start_date, :as => :string, :input_html => {:class => 'datepicker', :style => "width:60px", :value => 1.month.ago.strftime("%Y-%m-%d")} %>
    <%= f.input :end_date, :as => :string, :input_html => {:class => 'datepicker', :style => "width:60px", :value => Time.zone.now.strftime("%Y-%m-%d")} %>
    <%= f.input :country, :as => :select, :collection => locales, :input_html => {:style => "width:180px"}%>
  <% end %>
  <%= f.actions :submit %>
<% end %>

前もって感謝します、

マット

4

1 に答える 1

0

これまたは同様のものがニーズを満たすはずです。

class LightModel

  # Subclass this for a model that looks like an ar model but has no persistence
  # good for formtastic forms

  include ActiveModel::Naming
  include ActiveModel::Validations

  def initialize(attributes = {})
    @attributes = attributes
  end  

  # read only atm
  def method_missing(m, *args, &block)
    @attributes[m]
  end  

end

ありがとう、

マット

于 2012-08-22T05:28:08.073 に答える