В моем приложении rails 5 есть форма, которая принимает пользовательские данные и сохраняет их в базе данных mysql.
Все отлично работает.Однако я хочу переместить эту форму в отдельное представление, которое не соответствует имени класса / модели, имени контроллера и представлению.
Может ли это быть сделано путем простого преобразования формы в отдельное представление как частичное?
Любой совет был бы отличным.
Файл контроллера:
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
Допустим, это UserLeadController, я хочу поместить его частичную форму в представление внутри моего HomeController?Можно ли это сделать?
Это частичное, оно говорит мне, что @user_lead - ноль или пусто?Кажется, я не вижу, как это?
<%= 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> ....