RefineryCMS,在FrontEnd侧上传图片

时间:2012-06-18 18:57:06

标签: refinerycms

对于非常愚蠢的问题感到抱歉,但经过几天的搜索后,我仍然没有答案,而且我真的很不满意。

我有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保存。

我打赌问题只出在我的前端控制器为商店创建动作,但我不知道应该如何覆盖它。

非常感谢任何建议。

1 个答案:

答案 0 :(得分:2)

在控制器中,您必须将“徽标”参数作为Refinery::Image实例传递给模型。为此,您需要创建Refinery::Image的实例并将其合并到模型中。

示例:

logo = Refinery::Image.create(image: params[:shop][:logo])

@shop = Refinery::Shops::Shop.create(params[:shop].merge({logo: logo}))