以activeadmin形式呈现自定义表单助手(ckeditor_rails):

时间:2011-10-16 16:00:07

标签: ruby-on-rails ckeditor activeadmin

我有两个宝石,我使用和享受

gem'activeadmin' 和 宝石“ckeditor”

我希望我的'内容'字段使用ckeditor。

在我以前的应用程序中,我使用以下形式呈现ckeditor:

<%= form_for @resource do |f| %>
  <div class="field">
     <%= f.label :content %>
     <br />
     <%= cktext_area_tag("page_part[content]", @page_part.content) %>
  </div>
...
<% end %>

现在我只是将activeadmin添加到我的堆栈中,就像我目前所看到的那样。所以,我读到你可以通过编辑app / admin /#{resource} .rb文件来自定义表单:

  ActiveAdmin.register NewsItem do
    form :html => { :enctype => "multipart/form-data" } do |f| 
      f.inputs "NewsItem", :multipart => true do
      f.input :title
      f.input :content
      f.input :photo
      #NOT WORKING 
      cktext_area_tag("news_item[content]", @news_item.content)
      #NOT WORKING
     end 
     f.buttons
   end 
 end

如何让这个表单助手在active_admin中工作,以及我将用什么代替@ news_item.content。 @news_item是null ...所以现在我有点困惑。

当我尝试甚至没有引用@news_item时:

  cktext_area_tag("news_item[content]", 'i cant be edited properly')

我仍然得到:

  undefined method `cktext_area_tag' for #<ActiveAdmin::DSL:0x00000007e02250>

任何帮助将不胜感激!

2 个答案:

答案 0 :(得分:2)

好的,

答案很简单。

取自活跃的管理员自己的文档页面:http://activeadmin.info/docs/5-forms.html

 ActiveAdmin.register Post do
   form :partial => "form"
 end

然后我可以使用我想要的任何表单助手标签:

  <%= javascript_include_tag "/javascripts/ckeditor/ckeditor.js" %>
     <%= semantic_form_for [:admin, @news_item], :multipart => true do |f| %>
     <%= f.inputs :title, :photo %>
     <%= cktext_area_tag("news_item[content]", @news_item.content) %>
  <% end  %>  

答案 1 :(得分:2)

你可以尝试

f.template.some_view_method