После отправки simple_form я получаю пустую страницу в режиме просмотра - PullRequest
2 голосов
/ 23 октября 2019

Я создал простую форму, пользователь нажимает на три элемента и нажимает «Отправить», и электронное письмо отправляется, все это работает. Тем не менее, когда я тестирую его и проверяю страницу показа, на нем не отображаются введенные пользователем данные, только пустая страница. Я не получаю никаких ошибок.

контроллер

class PositionsController < ApplicationController

  def new
    @position = Position.new
  end

  def show
    @position = Position.find(params[:id])
  end

  def create
    @position = Position.new(position_params)
    if @position.save
      PositionMailer.general_message(@position).deliver
    else
      render :new
    end
  end

  private def position_params
    params.permit(:date, :time, :activity)
  end
end

view

<div class="form">
  <%= simple_form_for @position  do |f| %>
    <div class= "trip">
        <div class="trip-text">
          Trip number
        </div>
        <div class="trip-field">
          <%= f.input :tripnumber, label: false, placeholder: 'enter here' %>
        </div>
    </div>
    <div class= "activity">
      <div class="activity-text">
        Activity
      </div>
      <div class="activity-field">
        <%= f.input :activity, label: false, collection: [['Sailing to loadport, expected arrival', 'Sailing to loadport, expected arrival'], ['Sailing to discharge port, expected arrival', 'Sailing to discharge port, expected arrival'],
          ['Loading untill', 'Loading untill'], ['Discharging untill', 'Discharging untill'], ['Waiting for loading, expect to start', 'Waiting for loading, expect to start'], ['Waiting for discharge, expect to start', 'Waiting for discharge, expect to start']] %>
       </div>
    </div>
    <div class="date">
      <div class="date-text">
        Date
      </div>
      <div class="date-field">
        <%= f.date_field :date, class: 'form-control' %>
      </div>
    </div>
    <div class="time">
      <div class="time-text">
        Time
      </div>
      <div class="time-field">
        <%= f.time_field :time, value: "%H:%M", min: 'hh:mm:ss', max: 'hh:mm:ss' %>
      </div>
    </div>
  <%= f.submit "Send update", class: "submit"%>
</div>

Так как у меня нет ошибок, и все работает отлично, за исключением того, что у меня нет ввода от пользователей, я не знаю, гдечтобы посмотреть, я посмотрел на форуме и в Google, но безуспешно

1 Ответ

2 голосов
/ 24 октября 2019

В create действии добавьте redirect_to @position

if @position.save
  PositionMailer.general_message(@position).deliver
  redirect_to @position
else
  render :new
end

Надеюсь, это поможет!

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