挣扎着强烈的父亲冲突

时间:2014-11-20 09:05:55

标签: ruby-on-rails

我尝试使用以下代码创建邮件程序:

路线代码

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

如果我是诚实的,我是初学者,任何有关如何修复它的反馈或提示都会很棒。我真的很想让这个表格起作用。

1 个答案:

答案 0 :(得分:2)

您未正确致电form_for。它应该是:

<%= form_for @listing, url: lead_listing_path(@listing), method: :put do |listing| %>