Первый аргумент в форме не может содержать ноль или быть пустым с динамическим HTML - PullRequest
0 голосов
/ 29 сентября 2018

Я пытаюсь интегрировать рубин с какой-то заранее написанной HTML-разметкой.

Все работает нормально (маршруты, модели и т. Д.). Я могу публиковать данные в базе данных в обычной форме.Однако я пытаюсь сделать заранее написанную форму динамичной.

Я получаю ArguementError в самой первой строке:

First argument in form cannot contain nil or be empty

<%= form_for @user_leads, url:  user_leads_path(@user_leads), html: {class: 'col-12'}, method: :post, remote: true do |f| %>

Я пытался внедрить Ruby в это время, теперь любойсправка была бы отличной

user_leads_controller.rb

class UserLeadsController < ApplicationController

  def index
    @user_lead = UserLead.all
  end

  def new
    @user_lead = UserLead.new

    @lead_reasons = LeadReason.all.map{ |r| [r.name, r.id] }
    @lead_sources = LeadSource.all.map{ |s| [s.name, s.id] }
  end

  def create
    @user_lead = UserLead.new(user_lead_params)
    @user_lead.lead_reason_id = params[:lead_reason_id]
    @user_lead.lead_source_id = params[:lead_source_id]

    @user_lead.save

    redirect_to user_leads_path
  end

  private

  def user_lead_params
    params.require(:user_lead).permit(:name, :businessname, :phone, :email, :amount)
  end
end

Ошибка в представлении частичного файла: «Первый аргумент не может быть нулевым или пустым»

<%= form_for @user_lead, url: user_leads_path, html: {class: 'col-12'}, remote: true do |f| %>
        <div class="col-12 px-0 text-center">
          <h4 class="fl-color-navy">Some heading here</h4>
        </div>
        <div class="col-12 progress-container-center">
          <div class="col-12 progress-bar-block">
            <div class="progress-bar">
              <ol class="progress-steps">
                <li class="progress-step step1 current-step" style="width: 0%;"> <span class="count highlight-index"></span></li>
                <li class="progress-step step2 current-step" style="width: 100%;"> <span class="count"></span></li>
              </ol>
            </div>
          </div>
        </div> ....

1 Ответ

0 голосов
/ 29 сентября 2018

Первый аргумент в форме не может содержать ноль или быть пустым

Проблема в том, что @user_leads это ноль , поскольку он не определен.Это должно быть @user_lead согласно вашему коду.

И когда вы создаете новый user_lead, url должен быть просто user_leads_path вместо user_leads_path(@user_leads)

<%= form_for @user_lead, url:  user_leads_path, html: {class: 'col-12'}, method: :post, remote: true do |f| %>

или просто

<%= form_for @user_lead, html: {class: 'col-12'}, method: :post, remote: true do |f| %>

Может быть дополнительно сокращено до значения ниже

<%= form_for @user_lead, html: {class: 'col-12'}, remote: true do |f| %>

, так как формы по умолчанию отправляют POST запрос

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...