Моя кнопка отправки не работает на моем form_for в Rails - нет сообщения об ошибке - PullRequest
0 голосов
/ 08 апреля 2019

Здравствуйте, я вернулся ко второму вопросу.

Моя кнопка отправки в моей форме не выполняет никаких действий, когда я нажимаю на нее.У меня в консоли появилось сообщение об ошибке «Unpermitted параметр:: photo_cache», однако, когда я увидел это, я разрешил «photo_cache» в параметрах моего контроллера, НО кнопка отправки на моей форме все еще не работает.

Контекст: я пытаюсь создать парикмахерскую, которая имеет следующие параметры: имя, описание, местоположение, фото и адрес.

Любая помощь будет оценена, спасибо!

Моя форма:

<%= simple_form_for(@hairdresser) do |f| %>
  <%= f.error_notification %>
  <%= f.error_notification message: f.object.errors[:base].to_sentence if f.object.errors[:base].present? %>
  <!-- [...] -->

  <div class="form-inputs">
    <%= f.input :name %>
  </div>

  <div class="form-inputs">
    <%= f.input :address %>
  </div>

  <div class="form-inputs">
    <%= f.input :location %>
  </div>

   <div class="form-inputs">
    <%= f.input :description %>
  </div>

  <div class="form-inputs">
  <%= f.input :photo %>
  <%= f.input :photo_cache, as: :hidden %>
   </div>

  <div class="form-actions">
    <%= f.button :submit, label: "Submit Form", class: "btn btn-primary"  %>
  </div>
  <!-- [...] -->
<% end %>

Мой контроллер:

class HairdressersController < ApplicationController
  def index
    @hairdressers = Hairdresser.all
  end

  def show
    @hairdresser = Hairdresser.find(params[:id])
  end

  def new
    @hairdresser = Hairdresser.new
  end

  def create
    @hairdresser = Hairdresser.new(hairdresser_params)
    # @hairdresser.save ? (redirect_to hairdresser_path(@hairdresser)) : (render 'new')
      if @hairdresser.save
        redirect_to hairdresser_path(@hairdresser)
      else
        render 'new'
      end
  end

  def edit
    @hairdresser = Hairdresser.find(params[:id])
  end

  def update
    @hairdresser =  Hairdresser.find(params[:id])
  end

  def destroy
    @hairdresser =  Hairdresser.find(params[:id])
  end
end
private

def hairdresser_params
  params.require(:hairdresser).permit(:name, :address, :photo, :location, :description, :photo_cache)
end

Моя модель:

class Hairdresser < ApplicationRecord
  belongs_to :user
  validates :name, presence: true
  validates :location, presence: true
  validates :description, presence: true
  validates :location, presence: true

  mount_uploader :photo, PhotoUploader
end

1 Ответ

1 голос
/ 08 апреля 2019

Привет, я действительно нашел ответ на этот вопрос онлайн.Вот ответ для любого, кто потерял время с этой проблемой!:

"Если вы находитесь на Rails 5, вам нужно обновить ассоциацию пользователей:

Proper_to: пользователь, необязательно: true"

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