我有一个模型,有一些附加的文件。 在show action中,我有一个链接来打开一个显示窗体的对话框。从模型导轨邮件程序+ sendmail
此表格用于发送带有来自父模型的附加文件的电子邮件,以及有关该模型的一些信息。
我创建了一个发电机:
rails g mailer notifier
rails g resource emailsystem
现在,我已经在节目
<div id="dialog" style="display:none">
<%= form_for ???? do |f| %>
<%= f.text_field :fromemail %>
<% end %>
</div>
一个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)):
为什么我的参数数量错了?我可以在哪里设置我的模型/控制器的参数数量?
谢谢。
是的,我有点迷惑使用的ActionMailer呵呵感谢您的链接,我已经检查了railscasts视频。谢谢。 – neimad
unclaimedbaggage,你使用text_field的方式看起来不工作,我得到这个错误信息:'未定义的方法'text_field为零:NilClass'如果我改变一些关于控制器的设置并使用text_field:tableelement工作,但与您的f.text_field'fromemail'我得到这个错误。谢谢你的帮助 – neimad