У меня есть модель, к которой прикреплены некоторые файлы.
В действии show у меня есть ссылка, чтобы открыть диалоговое окно с формой.
Эта форма предназначена для отправки электронной почты с вложенными файлами от родительских моделей, а также с некоторыми сведениями о модели.
Я создал генератор:
rails g mailer notifier
rails g resource emailsystem
На данный момент у меня есть div в шоу
<div id="dialog" style="display:none">
<%= form_for ???? do |f| %>
<%= f.text_field :fromemail %>
<% end %>
</div>
Но я не знаю, с какой моделью мне нужно прикрепить эту форму, потому что форма не нуждается в БД.
Я создал новый ресурс, но при его использовании я получаю сообщение об ошибке, поскольку таблица ресурсов не существует.
Как я могу это сделать? Я думаю, что мне нужно прикрепить диалоговую форму с текущей моделью.
РЕДАКТИРОВАТЬ ------------
Теперь я создал свою форму, а также контроллер и почтовые + модели
mailer + models
mailer
def plan_notification(resource)
@plans = resource
mail(:to => "maskedemail",
:from => 'maskedemail',
:subject => 'test')
end
model
def save
Emailplan.plan_notification(self).deliver!
end
and my controller
def send
puts 'test'
@emailplan = Emailplan.save(params[:emailplan])
end
my routes.rb
match 'emailplans/send' => 'emailplans#send', :as => :send_emailplan
my form
<%= form_for @emailplan, :as => :emailplans, :url => send_emailplan_path do |e| %>
<div>To : <%= e.text_field 'toemail' %></div>
<div>From : <%= e.text_field 'fromemail' %></div>
<div>Note : </div>
<div><%= e.text_area 'note', :rows => 5 %></div>
<div><%= e.submit 'Send plans' %></div>
<% end %>
но при всем этом я получаю эту ошибку:
Parameters: {"commit"=>"Send plans", "authenticity_token"=>"12dR2T8IOSoKktQEHxthP8v5bxTuPBzwnoWz9lTgim0=", "utf8"=>"✓", "emailplans"=>{"fromemail"=>"maskedemail", "toemail"=>"maskedemail", "note"=>"23423423"}}
Completed 500 Internal Server Error in 0ms
ArgumentError (wrong number of arguments (2 for 0)):
Почему у меня неверное количество аргументов? Где я могу установить количество аргументов для моей модели / контроллера?
Спасибо.