我在rails项目中有两个模型:Link
和Campaign
。
在Link
的show.html.erb中,我有一个表单来创建新的Campaign
看起来像这样
<%= form_for :campaign, url: campaigns_path do |f| %>
<%= f.hidden_field :name, value: current_user.email %>
<%= f.hidden_field :product, value: @link.product %>
<%= f.hidden_field :title, value: @link.title %>
<%= f.hidden_field :website, value: current_user.website %>
<%= f.hidden_field :productlink, value: @link.url %>
<%= f.hidden_field :description, value: @link.description %>
<%= f.hidden_field :date, value: Date.today.to_s %>
<br>
<br>
<%= f.submit :"Let's Go Make Some Money", class: "btn btn-primary" %>
<% end %>
这很有效。我的问题是在为Link
创建基于它的新帖子时删除Campaign
的帖子。基本上,我想提交一份表格并删除其他内容。
答案 0 :(得分:0)
您可以在form_for中传递要销毁的链接的ID:
<%= form_for @campaign, :url => { :controller => :campaign, :action=>:create, :link_id => @link.id } do |f| %>
<%= f.hidden_field :name, value: current_user.email %>
<%= f.hidden_field :product, value: @link.product %>
<%= f.hidden_field :title, value: @link.title %>
<%= f.hidden_field :website, value: current_user.website %>
<%= f.hidden_field :productlink, value: @link.url %>
<%= f.hidden_field :description, value: @link.description %>
<%= f.hidden_field :date, value: Date.today.to_s %>
<br>
<br>
<%= f.submit :"Let's Go Make Some Money", class: "btn btn-primary" %>
<% end %>
在你的links_controller.rb中:
def show
@campaign = Campaign.new
end
在您的campaigns_controller.rb中: def show @ 端
def create
@link = Link.find(params[:link_id])
@link.destroy
...
# create campaign
end