我有這個方法在我application_controller.rb未定義的方法`save_item」對於上述ItemsController:類(NoMethodError)
class ApplicationController < ActionController::Base
protect_from_forgery
def save_item(asin, domain, user_id)
...
end
end
&當我嘗試通過軌道亞軍調用它在items_controller.rb 'ItemsController.rss'
def self.rss
self.save_item(@item_registration.asin, @item_registration.domain, @item_registration.user_id)
...
end
我得到這個錯誤
.rvm/gems/[email protected]/gems/railties-3.2.13/lib/rails/commands/runner.rb:53:in
EVAL':未定義的方法save_item' for ItemsController:Class (NoMethodError)
我也試過
Application.save_item(@item_registration.asin, @item_registration.domain, @item_registration.user_id) & ApplicationController... & just save_item(@item_registration.asin, @item_registration.domain, @item_registration.user_id)
&它在不言法的工作,但不能與SELF.some_method
您無法從類方法調用實例方法。保存對象也不是控制器的責任。 – sevenseacat
我可以在其他控制器中調用它。像在控制器類別控制器.rb def創建 save_item(@ item_registration.asin,@ item_registration.domain,@ item_registration.user_id) ... – whitesiroi
因爲這是一個實例方法,而不是類方法。 – sevenseacat