对于非常愚蠢的问题感到抱歉,但经过几天的搜索后,我仍然没有答案,而且我真的很不满意。
我有refinerycms扩展名。像这样:
$ rails generate refinery:engine shop name:string logo:image
我希望它可以从我的应用程序的后端和前端进行控制。 后端没有问题。 (感谢refinerycms团队。) 当表单只包含“名称”时,前端没有问题。 (或任何其他没有图像类型的属性)。
图像类型属性存在问题。
我不希望前端用户拥有与后端用户相同的图像编辑表单。 我希望表单像这样:
<div class='field'>
<%= f.label :logo , "Logo"%>
<%= f.file_field :logo %>
</div>
我希望前端用户加载的图像可以使用Refinery :: Image保存。
我打赌问题只出在我的前端控制器为商店创建动作,但我不知道应该如何覆盖它。
非常感谢任何建议。
答案 0 :(得分:2)
在控制器中,您必须将“徽标”参数作为Refinery::Image
实例传递给模型。为此,您需要创建Refinery::Image
的实例并将其合并到模型中。
示例:
logo = Refinery::Image.create(image: params[:shop][:logo])
@shop = Refinery::Shops::Shop.create(params[:shop].merge({logo: logo}))