[英]How would I display the time ago that a post was made with the simple_form gem - Ruby-on-Rails
[英]Ruby on Rails - How would I add a image uploader to the simple_form Gem
我正在創建一個基本的房屋列表頁面,以便與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
house_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 %>
您應該可以更改:
<%= form.input :image, label: "Image of house" %>
至
<%= form.input :image, as: :file, label: "Image of house" %>
這將創建一個標准的HTML文件輸入字段,該字段允許您的用戶選擇要上傳的本地文件。 有關此字段和其他字段類型的信息,可以使用“ 簡單表單”輸入字段類型 。
此外,您將需要考慮使用諸如回形針或Carrierwave之類的寶石來處理服務器(在型號中)上的文件。
而且,如果您確實希望在simple_form中使用自定義輸入類型,則可以在“自定義輸入”下的simple_form github存儲庫中了解有關如何實現該類型的信息-上載圖像不是必需的。 對於您的代碼,這將是語法糖。
對於圖像上傳,您可以使用回形針
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.