Я создаю страницу с базовым домом, чтобы справиться с Rails, и я пытаюсь выяснить, как добавить загрузчик файла изображения в жемчужина simple_form на Ruby on Rails.Ruby on Rails - Как добавить загрузчик изображений в simple_form Gem
В настоящее время у меня есть базовая форма, которая запрашивает название, цену и описание, пока я создавал форму. Я добавил поле ввода для изображения, но вместо поля ввода я хотел бы разрешить пользователю добавлять файл изображения, который будет добавлен в список с house.image
Мой код выглядит следующим образом:
index.html.erb -
<p><%= link_to "Add a House", new_house_path %></p>
<% @houses.each do |house| %>
<div class="house">
<p><%= house.image %></p>
<h2><%= house.title %></h2>
<h2><%= house.price %></h2>
<p><%= house.description %></p>
</div>
<% end %>
<p><%= paginate @houses %></p>
house.rb -
class House < ActiveRecord::Base
validates :title, presence: true
validates :price, presence: true
validates :description, presence: true
validates :image, presence: true
end
houses_controller.rb -
class HousesController < ApplicationController
def index
@houses = House.page(params[:page]).per(20).order(created_at: :desc)
end
def new
@house = House.new
end
def create
@house = House.new(params.require(:house).permit(:title, :price, :description, :image))
if @house.save
redirect_to root_path
else
render "new"
end
end
end
new.html.erb -
<%= simple_form_for @house do |form| %>
<%= form.input :title, label: "House title" %>
<%= form.input :price, label: "House price" %>
<%= form.input :description, label: "Describe your house" %>
<%= form.input :image, label: "Image of house" %>
<%= form.button :submit %>
<% end %>
см. Это может помочь [https://github.com/plataformatec/simple_form/wiki/Adding-custom-input-components – Sontya