ruby-on-rails – Refinerycms – 将图像字段添加到博客引擎
我有一个refinerycms应用程序,其上安装了社区博客引擎.我想在blog_post中添加一个图像字段,以便我可以为帖子选择一个主图像,并将其显示在我的视图中.
我试过添加一个图像字段,没有快乐.然后我查看了一个带有图像字段的其他自定义引擎,并使用image_id链接到主图像表,所以我尝试添加一个image_id字段,然后编辑blog_post模型以获得相同的’belongs_to’行.编辑博客加载页面,图像选择器部分工作,但当我点击保存时,看起来没有任何东西被发送到我的表. 我担心的一件事是当我使用图像字段创建自定义引擎时,我将其指定为字段类型图像.这似乎在后端创建了image_id字段,并设置了所有内容,因此我仍然可以引用图像类.向博客添加图像字段并没有这样做,只是创建了一个名为image的字段类型.在检查我的自定义引擎的表时,没有名为image的字段类型,因此某处有一些我无法重新创建的转换魔法. 目前我有以下代码: 创建此迁移: class AddPictureToBlog < ActiveRecord::Migration def self.up add_column :blog_posts,:main_image_id,:integer end def self.down remove_column :blog_posts,:main_image_id end end 将此添加到blog_post模型中: belongs_to :main_image_id,:class_name => 'Image' 并在视图上有这个: <%= f.label :main_image_id -%> <%= render :partial => "/shared/admin/image_picker",:locals => { :f => f,:field => :main_image_id,:image => @blog_post.main_image_id,:toggle_image_display => false } %> 自定义引擎甚至没有引用_id字段,所以我不知道这里缺少哪些链接.任何帮助将不胜感激.它可能根本不是一个refinerycms特定的问题 – 我是rails的新手,所以这里可能缺少一些基础知识. 谢谢! 解决方法
对于rails 3.2.3和refinerycms 2.0.0,bleow代码有效,
创建新迁移: rails generate migration add_image_id_to_refinery_blog_posts image_id:integer rake db:migrate 在“decorators / refinery / blog /”下创建一个文件post_decorator.rb 添加以下行, Refinery::Blog::Post.class_eval do # Whitelist the :image_id parameter for form submission attr_accessible :image_id belongs_to :image end 生成炼油厂表单文件: rake refinery:override view=refinery/blog/admin/posts/_form 并在“views / refinery / blog / admin / posts / _form.html.erb”中添加以下代码 <div class="field"> <%= f.label :image_id %> <%= render :partial => "/refinery/admin/image_picker",:locals => { :f => f,:field => :image_id,:image => f.object.image,:toggle_image_display => false } %> </div> 有关更多详细信息,请参阅链接extending-models (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |