5

Rails用のgem x-editableをインストールしました:

# x-editable
gem 'x-editable-rails'

メソッドをに追加しましxeditable?ActionController

  # Add a helper method to your controllers to indicate if x-editable should be enabled.
  def xeditable?
    true # Or something like current_user.xeditable?
  end

しかし、それでもエラーが発生します:

ActionView::Template::Error (undefined method `xeditable?' for #<#<Class:0x007f9012e30f68>:0x007f9012ee9e78>):
    14: 
    15:     .panel-body
    16:       /a.doc_title.editable id='doc_title_12345' data-name="doc[title]" data-title="Enter doc title" data-type="text" data-url='/docs/12345' href='#doc_title_12345' = doc.title
    17:       = editable doc, :title
    18: 
  app/views/docs/_single_doc_in_accordion.html.slim:17:in `_app_views_docs__single_doc_in_accordion_html_slim__2506304306156466629_70128411437560'
  app/views/docs/index.html.slim:52:in `_app_views_docs_index_html_slim___3263534966956214695_70128384677640'

メソッドが機能するようにするには、どこでメソッドを定義する必要がありますxeditable?か?

アップデート:

これはapplication_controller.rb次のとおりです。

class ApplicationController < ActionController::Base

  # Prevent CSRF attacks by raising an exception.
  # For APIs, you may want to use :null_session instead.
  protect_from_forgery with: :exception

end

これはapplication_helper.rb次のとおりです。

module ApplicationHelper
  # Add a helper method to your controllers to indicate if x-editable should be enabled.
  def xeditable?
    true # Or something like current_user.xeditable?
  end
end

今、私は新しいエラーを受け取ります: と同じxeditable?ですが、can?(method undefined)を使用します

4

1 に答える 1

8

あなたに追加helper_method :xeditable?してくださいApplicationController.rb

class ApplicationController < ActionController::Base

  helper_method :xeditable?

  # Prevent CSRF attacks by raising an exception.
  # For APIs, you may want to use :null_session instead.
  protect_from_forgery with: :exception

  # Add a helper method to your controllers to indicate if x-editable should be enabled.
  def xeditable?
    true # Or something like current_user.xeditable?
  end

end
于 2013-12-18T16:10:47.853 に答える