0
私は、show controller(raffle)のajaxリクエストを正常にレンダリングしました。新しいモーダルでは、別のコントローラ(電子メール)から部分的にレンダリングしようとしていますが、私は抽選コントローラから新しいフォームを取得しています。私が端末を見ると、私はラッフルズ/ _newと電子メール/ _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)
マイラッフルコントローラーのshowアクションがあります。
def show
@raffle = Raffle.find(params[:id])
@email = Email.new
end
マイビューの表示:新しい
<%= render '/emails/new', :locals => { :raffle_id => @raffle.id, :email => @email } %>
電子メールは、/ '形式' をレンダリングしている部分で、フォームは:
<%= 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 %>
理由は、私のショーは電子メールの新しい形ではなく、新しい形の抽選会を出すことです。誰が何が起こっているのか分かりますか?
[POST] "/ email/new"と一致するルートは存在しません。 – ryanpback
この問題は、 "form_for '@" email:url => new_email_path "を" form_for' @ email ":url => emails_path"に変更することで解決しました。 – ryanpback