ruby-on-rails - Refinerycms-将图像字段添加到博客引擎

标签 ruby-on-rails model refinerycms

我有一个带有社区博客引擎的fineryrycms应用程序。我想在blog_post中添加一个图像字段,以便为该帖子选择一个主图像,并将其显示在我的 View 中。

我尝试添加图像字段,没有任何乐趣。然后,我查看了其他具有图像字段的自定义引擎,该引擎使用image_id链接到主图像表,因此我尝试添加一个image_id字段,并编辑blog_post模型以具有相同的'belongs_to'行。博客加载的编辑页面,并且图像选择器部分工作,但是当我单击“保存”时,似乎没有任何内容发送到我的表中。

与我有关的一件事是,当我使用image字段创建自定义引擎时,将其指定为字段类型image。这似乎是在后端创建了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'

并在 View 上显示以下内容:
    <%= 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字段,因此我不知道这里缺少哪些链接。任何帮助将不胜感激。可能根本不是炼油厂特定的问题-我是铁路新手,所以这里可能缺少一些基本知识。

谢谢!

最佳答案

对于rails 3.2.3和refinerycms 2.0.0,可以使用以下代码,

创建一个新的迁移:

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

关于ruby-on-rails - Refinerycms-将图像字段添加到博客引擎,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7139343/

相关文章:

javascript - Rails : Webpacker 4. 2 在/app/public/packs/manifest.json heroku 中找不到应用程序

ruby-on-rails - 在没有电子邮件的情况下重置设计密码 - Rails

python - 对于从父类继承的模型,Django 不发送 save() 信号?

ruby-on-rails - Rails 连接模型困惑(连接许多表)

ruby-on-rails - 如何使用 Rails 4 安装 Refinery CMS

ruby-on-rails - 覆盖 rails/refinerycms 中的类

ruby-on-rails - 只允许特定域名在 Rails App 中注册(Devise gem)

ruby-on-rails - 为什么 Rails 增量方法不保存更改?

json - 如何在Dart中定义一个属性可以为null或另一个模型的模型

ruby-on-rails-4 - 如何更改 Refinery CMS 管理路径?