rails新手,
我正在尝试在我的rails应用程序中使用refinerycms,炼油厂已经可以将图像上传到数据库,我正在尝试将其组合到我使用的扩展程序“事件”扩展程序中,所以当我创建一个新事件时应该创建 2 个对象,事件到以 image_id 作为图像 id 的外键的炼油厂事件表,以及将保存到炼油厂图像的事件图像属性,
我已将迁移 image_id 列添加到炼油厂事件并将此关系与 event.rb 模型
belongs_to :image_id, :class_name => '::Refinery::Image'
在 event_controller.rb 中添加这个
def image_params
params.require(:event).permit(:image_name, :image_size, :image_width, :image_height, :created_at, :updated_at)
end
def new
@event = Event.new
@image_id = Refinery::Image.new
end
def create
@event = Event.new(event_params)
@image_id = Refinery::Image.new(image_params)
if @event.save
begin
Mailer.notification(@event, request).deliver_now
rescue => e
logger.warn "There was an error delivering the event notification.\n#{e.message}\n"
end
if Event.column_names.map(&:to_s).include?('email')
begin
Mailer.confirmation(@event, request).deliver_now
rescue => e
logger.warn "There was an error delivering the event confirmation:\n#{e.message}\n"
end
else
logger.warn "Please add an 'email' field to Event if you wish to send confirmation emails when forms are submitted."
end
redirect_to refinery.thank_you_events_events_path
else
render :action => 'new'
end
end
def event_params
params.require(:event).permit(:nama, :deskripsi, :periode_start, :periode_end, :lokasi, :jumlah, :gender_id, :age_id, :event_types_id, :des_acara, :key_kata, :tipe_sponsor, :dana, :exposure, :enggagement, :image_id)
end
这是表格的样子,
<%= form_for [refinery, :events, @event], :html => { :multipart => true } do |f| %>
<%= render '/refinery/admin/error_messages',
:object => @event,
:include_object_name => true %>
<div class='field nama_field string_field'>
<%= f.label :nama %>
<%= f.text_field :nama %>
</div>
<div class='field deskripsi_field text_field'>
<%= f.label :deskripsi %>
<%= f.text_area :deskripsi, :rows => 8 %>
</div>
<div class="field">
<p>
<%= f.file_field :image_id %>
</p>
</div>
<div class='actions'>
<%= f.submit t('.send') %>
</div>
<% end %>
我被困住了还有什么?如何使这个表格工作?任何人都可以教我吗?
谢谢..