2011-06-01 9 views
0

私は基本的な管理者エリアを構築していますが、編集者がHTMLを知らなくても簡単にコンテンツを編集できるようにしたいのです。私はCKEditorで実行することを選択し、RubyGemsCKEditorを使用しました。ビューでckeditor_textareaを使用したときにメソッドエラーが発生しました - Ruby on Rails 3

私はこれを設定するためにall the instructionsを追跡しました。

次のエラーが発生します。

undefined method `content' for nil:NilClass 

21: </div> 
22: <div class="field"> 
23:  <%= f.label :content %><br /> 
24:  <%= ckeditor_textarea(:access_article, :content, :width => '100%', :height => '200px') %> 
25: </div> 
26: <div class="field"> 
27:  <%= f.label :seo_title %><br /> 

私は記事は、ドメイン/アクセス/記事で作成され、私のルート・ファイル内のネストされたリソースを作成することができ、管理者のエリアを作成しました。

routes.rbエキス

namespace "access" do 
    resources :pages, :articles 
    end 

私は別のプロジェクトでこの作業を持っていたが、それは、この時間を働いていない理由を私はわかりません。どこで間違ったことをしなければならないのですか?

は、ここで私は、標準ヘルパー、<%= f.text_area :content %>を使用している場合は、私は何の問題を持っていない私のフォームコード

<%= form_for([:access, @access_article]) do |f| %> 
    <div class="field"> 
    <%= f.label :title %><br /> 
    <%= f.text_field :title %> 
    </div> 
    <div class="field"> 
    <%= f.label :permalink %><br /> 
    <%= f.text_field :permalink %> 
    </div> 
    <div class="field"> 
    <%= f.label :content %><br /> 
<%= ckeditor_textarea(:access_article, :content, :width => '100%', :height => '200px') %> 
    </div> 
    <div class="field"> 
    <%= f.label :seo_title %><br /> 
    <%= f.text_field :seo_title %> 
    </div> 
    <div class="field"> 
    <%= f.label :seo_description %><br /> 
    <%= f.text_area :seo_description, :rows => 6 %> 
    </div> 
    <div class="actions"> 
    <%= f.submit %> 
    </div> 
<% end %> 

です。

+0

私は自分のgemfileの開発グループにgemを追加する必要があることを知りました。 –

+0

f.ckeditor_textarea? – eveevans

答えて

0

私は解決策が見つかりました:「ポスト[ボディ]」この場合、フィールドに

で、フォームはfです:HTMLコードを使用し、CKEditorバージョンのヘルパーを使用することはありませんが。

<%= form_for([@trek,@trek.posts.build],:remote=>true) do |f| %> 
    ... 
    ... 
<%= f.text_area :body %> 

<script type="text/javascript"> 
    CKEDITOR.replace('post[body]'); 
</script> 

<%= ckeditor_ajax_script %> 
関連する問題