我尝试使用以下代码创建邮件程序:
路线代码
resources :listings do
member do
put :lead
end
end
邮件程序控制器代码
def lead(listing)
@listing = listing
mail(to: @listing.leadrecepient, subject: "test")
end
标准控制器代码
def lead
Enquiry.lead(@listing).deliver
end
视图
<%= form_for lead_listing_path(@listing), method: :put do |listing| %>
<%= listing.text_field :name %>
<%= listing.submit %>
<% end %>
在商业目录的上下文中,我想要它,以便在每个列表页面上都有一个查询表格,当填写并提交时,该信息将被发送到相关列表电子邮件。
但问题是,当我在表单中输入并单击“提交”时,出现以下错误:
param is missing or the value is empty: listing
这似乎是因为我在&#34;列表&#34;控制器,用于控制业务列表本身的显示和创建。因此,对于包含所有新列表变量的新列表,我有强大的参数:
def listing_params
params.require(:listing).permit(:fullname, :jobtitle, :email, :franchisename, :leadrecepint, :shortdescription, :longdescription, :website, :branchcount, :scale, :mininvestment, :investmentrange, :category, :hexbg, :logourl, :facebook, :twitter, :linkedin, :googleplus, :approved)
end
如果我是诚实的,我是初学者,任何有关如何修复它的反馈或提示都会很棒。我真的很想让这个表格起作用。
答案 0 :(得分:2)
您未正确致电form_for
。它应该是:
<%= form_for @listing, url: lead_listing_path(@listing), method: :put do |listing| %>