【发布时间】:2017-08-23 08:19:57
【问题描述】:
我已成功呈现一个显示控制器(抽奖)的 ajax 请求。在新模式中,我试图从另一个控制器(电子邮件)呈现部分,但我从抽奖控制器获取新表单。当我查看终端时,它说我正在渲染 raffles/_new 和 emails/_new,但是没有显示电子邮件表单。这是终端信息:
Raffle Load (0.2ms) SELECT "raffles".* FROM "raffles" WHERE
"raffles"."id" = $1 LIMIT $2 [["id", 6], ["LIMIT", 1]]
Rendering raffles/show.js.erb
Rendered layouts/_errors.html.erb (0.5ms)
Rendered raffles/_form.html.erb (12.0ms)
Rendered emails/_new.html.erb (21.5ms)
Rendered raffles/_show.html.erb (37.5ms)
Rendered raffles/show.js.erb (51.3ms)
我的抽奖控制器的表演动作有:
def show
@raffle = Raffle.find(params[:id])
@email = Email.new
end
我的节目视图:
<%= render '/emails/new', :locals => { :raffle_id => @raffle.id, :email => @email } %>
emails/new 是呈现“表单”的部分,而表单是:
<%= form_for email do |f| %>
<%= f.text_field :email, :placeholder => "Your Email" %>
<%= f.hidden_field :raffle_id, :value => raffle_id %>
<%= f.submit "Enter", :class => 'btn-pop' %>
<% end %>
出于某种原因,我的节目展示的是抽奖新表格,而不是电子邮件新表格。有人知道发生了什么吗?
【问题讨论】:
标签: ruby-on-rails ajax forms render partials