Я собираюсь, должны сказать MediaInfo, я использовал его больше года с приложением кодирования аудио/видео, я продолжаю работать. Это дает всю информацию для wav файлов почти наряду с любым форматом.
MediaInfoDll Идет с демонстрационным кодом C# того, как получить его работа.
Во-первых, Formtastic не нуждается в модели во всех случаях, хотя он, безусловно, работает лучше всего и требует меньше кода с моделью.
Так же, как встроенный в Rails form_for
, вы можете передать символ вместо объекта в качестве первого аргумента, и Formtastic построит форму и отправит параметры на основе символа. Например:
<% semantic_form_for(:session) do |f| %>
...
<% end %>
Это сделает значения формы доступными для вашего контроллера как params [: session]
.
Во-вторых, модель не означает ActiveRecord модель. Я имею в виду, что Formtastic будет работать с любым экземпляром класса, который крякнет как модель ActiveRecord.
Классический пример того, многие люди используют Authlogic для аутентификации с Formtastic. Частью Authlogic является идея модели UserSession, которая отлично работает:
Контроллер:
def index
@user_session = UserSession.new
end
Форма:
<% semantic_form_for(@user_session) do |f| %>
<%= f.input :login %>
<%= f.input :password %>
<% end %>
Это сделает ваши данные формы доступными в вашем контроллере как params [: user_session]
.
Это , на самом деле не так уж и сложно создать экземпляр модели, чтобы обернуть проблемы, связанные с вашей моделью. Просто продолжайте реализовывать методы, ожидаемые Formtastic, пока они не заработают!
Или вы просто создаете форму с помощью form_for и оставляете ссылку на модель пустой.
например
<% form_for "",: url => some_url do | f | %>
<% = f.text_field "some_attribute"%>
<% = submit_tag "submit"%>
Вы можете получить значения, просто произнеся params [: some_attribute] в вашем контроллере.
default_language.rb
class DefaultLanguage attr_accessor :language_id end
foo_controller.rb
def index @default_language = params[:default_language] || Language.find_by_name("English") end
index.erb
<% semantic_form_for @default_language do |form| %> <% form.inputs :id => 'default_language' do %> <%= form.input :id, :as => :select, :collection => @languages, :required => false, :label => "Primary Language:", :include_blank => false %> <% end %> <% end %>
Я использовал Ajax для опубликовать форму, когда значение изменилось.