繁体   English   中英

Rails表单对象在邮件中返回对象ID

[英]Rails Form Object Returns Object ID in mail

我有下面的表格,它可以正常工作,但是当提交时::event字段在邮件程序中返回一个ID,有什么想法可以防止这种情况吗?

形成

<%= simple_form_for @sponsorship_inquiry, :method => :post do |f| %>
    <%= f.input :spam, as: :hidden %>
    <%= f.input :name %>
    <%= f.input :phone %>
    <%= f.input :email %>
    <%= f.input :job_title %>
    <%= f.input :company %>
    <%= f.input :event, :collection => Event.where(:end_date.gt => Date.today, :is_live => 'true') %>
    <%= f.input :message, as: :text, :input_html => { :cols => 5, :rows => 6 } %>
    <%= f.button :submit %>
<% end %>

信封

Name: <%= @sponsorship_inquiry.name %>
Phone: <%= @sponsorship_inquiry.name %>
E-Mail: <%= @sponsorship_inquiry.email %>
Job Title: <%= @sponsorship_inquiry.job_title %>
Company: <%= @sponsorship_inquiry.company %>
Event: <%= @sponsorship_inquiry.event %>
Message: <%= @sponsorship_inquiry.message %>

调节器

def new
    @sponsorship_inquiry = SponsorshipInquiry.new
end

def create
    # Hidden field for bots/spiders
    redirect_to new_inquiry_path and return if params[:spam].present?
    @sponsorship_inquiry = SponsorshipInquiry.new(params[:sponsorship_inquiry])
    if @sponsorship_inquiry.valid?
        SponsorshipInquiryMailer.admin(@sponsorship_inquiry).deliver
        redirect_to sponsorship_inquiries_path
    else
        render :new
    end
end

需要您的SponsorshipInquiry模型。

如果你有

class SponsorshipInquiry < ActiveRecord::Base

  belongs_to :event

end

尝试发送<%= @sponsorship_inquiry.event.name %>或其他任何值)

或者,如果“事件”只是与事件模型不相关的字段,则需要从表单中解析所需的值。

恕我直言

如果您的问题是“我可以修改表格以便我自动(魔术地?)获取一个对象作为参数吗?”,答案肯定不是。

您要做的就是根据收到的ID在数据库中搜索事件对象。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM