Визуализировать новый. js .erb в rails create controller (Rails 6) - PullRequest
2 голосов
/ 26 мая 2020

Я пытаюсь отобразить новый. js .erb в случае сбоя проверки. У меня есть это в моих рельсах create action

  def create
    @talent = Talent.new(talent_params)
    @job =  params[:job_id]
    @talent.job_id = @job
    respond_to do |format|
      if @talent.save
        flash[:notice] = "You have successfully completed your job application!"
        redirect_to jobs_path
      else
        format.html
        format.js { render "new" }
      end
    end
  end

В новом. js .erb, у меня есть

$('<%= j render "form" %>').modal();

в _form. html .erb (частично визуализированная форма в новом. js .erb), у меня есть

<div id="contact-modal" class="modal fade">
  <div class="modal-dialog">
    <div class="modal-content">
      <%= simple_form_for @talent, :url => job_talents_path(@job, @talent), :method => :post do |f| %>
        <div class="modal-body">
          <%= f.input :full_name, label: "Full Name", :autofocus => true %>
          <%= f.input :email, label: "Email" %>
          <%= f.input :mobile_number, label: "Mobile Number" %>
          <%= f.input :resume %>
          <%= f.input :cover_letter %>
          <%= f.submit 'Submit Application', class: "btn btn-success btn-lg btn-block upload-margin create-style"%>
        </div>
        <div class="modal-footer">
          <span style="float: left; color: #5DB1D1;">Goodluck with your application<i class="fas fa-hand-peace" aria-hidden="true"></i></span>
        </div>
      <% end %>
    </div>
  </div>
</div>

В случае сбоя проверки контроллер не может отобразить новый. js .erb. Любая помощь в решении этой проблемы будет оценена

1 Ответ

0 голосов
/ 26 мая 2020

Одна из проблем может заключаться в том, что вы не можете неявно передать локальные переменные rails в партиал. Этот синтаксис для явной передачи переменных в партиал может вам помочь:

Rails 4 - передача переменной в партиал

...