Я пытаюсь добавить операторскую волну в мое приложение для обработки вложений от пользователей (pdf, doc и т. Д.), А не изображений). Я просмотрел несколько руководств и, хотя кажется, что работает, я не могу получить доступ к приложению через метод link_to или, следуя за созданием несущей канала url. При использовании моего приложения я сталкиваюсь с двумя странными вещами:Загрузка поля с возвратом несущей волны: nil
1) Предварительный просмотр ссылки (со ссылкой на всплывающее окно слева внизу в хроме, показывающем место назначения ссылки) показывает только localhost :: model/id, а не URL-адрес, который находится в загрузчике
2) Когда я просматриваю запись в консоли рельсов, столбец показывает нуль. Я добавил это в мои разрешенные параметры в контроллере.
Мой контроллер:
class Cms484sController < ApplicationController
before_action :set_cms484, only: [:show, :edit, :update, :destroy]
# GET /cms484s
# GET /cms484s.json
def index
@cms484s = Cms484.all
end
# GET /cms484s/1
# GET /cms484s/1.json
def show
end
# GET /cms484s/new
def new
@cms484 = Cms484.new
end
# GET /cms484s/1/edit
def edit
end
# POST /cms484s
# POST /cms484s.json
def create
@cms484 = Cms484.new(cms484_params)
respond_to do |format|
if @cms484.save
format.html { redirect_to @cms484, notice: 'Cms484 was successfully created.' }
format.json { render :show, status: :created, location: @cms484 }
else
format.html { render :new }
format.json { render json: @cms484.errors, status: :unprocessable_entity }
end
end
end
# PATCH/PUT /cms484s/1
# PATCH/PUT /cms484s/1.json
def update
respond_to do |format|
if @cms484.update(cms484_params)
format.html { redirect_to @cms484, notice: 'Cms484 was successfully updated.' }
format.json { render :show, status: :ok, location: @cms484 }
else
format.html { render :edit }
format.json { render json: @cms484.errors, status: :unprocessable_entity }
end
end
end
# DELETE /cms484s/1
# DELETE /cms484s/1.json
def destroy
@cms484.destroy
respond_to do |format|
format.html { redirect_to cms484s_url, notice: 'Cms484 was successfully destroyed.' }
format.json { head :no_content }
end
end
private
# Use callbacks to share common setup or constraints between actions.
def set_cms484
@cms484 = Cms484.find(params[:id])
end
# Never trust parameters from the scary internet, only allow the white list through.
def cms484_params
params.require(:cms484).permit(:supplier_name, :supplier_addr, :supplier_city, :supplier_state, :supplier_zip, :frm_date, :document)
end
end
Мой загрузчик:
class FileUploader < CarrierWave::Uploader::Base
storage :file
def store_dir
"uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
end
end
Моя форма: (сокращенно)
<%= f.file_field :file, multiple: true %>
<div class="actions">
<input type="submit" name="commit" value="Complete Cms484" />
</div>
<% end %>
</body>
</html>
Мой взгляд:
<p>
<strong>Sup name:</strong>
<%= @cms484.supplier_name %>
</p>
<%= link_to 'Document', @cms484.document.url %> |
<%= link_to 'Edit', edit_cms484_path(@cms484) %> |
<%= link_to 'Back', cms484s_path %>
Любые идеи?
На самом деле думал об этой проблеме на следующее утро. Разумеется, если вы будете придерживаться конвенции, как и вы, все работает! Спасибо за вашу помощь – PSCampbell