问题
I installed the gem x-editable for rails:
# x-editable
gem 'x-editable-rails'
I added the method xeditable?
to the 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
But still getting an error:
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'
Where should I define the method xeditable?
so that it starts working?
Update:
This is 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
This is 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
Now I get new error: same as xeditable?
, but with can?
(method undefined)
回答1:
Add helper_method :xeditable?
in your 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
来源:https://stackoverflow.com/questions/20661986/why-x-editable-rails-gem-throwing-an-error-undefined-method-xeditable