如果使用rails-api gem,如何提交rails表单。未定义的方法`protect_against_forgery?

时间:2016-09-02 03:05:32

标签: ruby ruby-on-rails-3 ruby-on-rails-4 rails-api

我有一个rails应用程序,只有api才使用gem rails-api。现在我正在尝试创建管理面板,因为我们后来意识到我们确实需要一个管理面板。但我认为rails-api对观点没有很好的支持。

当我尝试提交表单时,它说undefined method protect_against_forgery?可能是因为它不支持<%= csrf_meta_tags %>

我尝试在我的控制器中手动定义此方法,但没有运气。

def protect_against_forgery?
  true
end

如何在不收到此错误的情况下提交表单。

2 个答案:

答案 0 :(得分:0)

在api控制器中放入以下行。

$($(htmlData)).find('[data-toggle="tooltip"]').each(function(v){
                console.log(this);
                 $(this).tooltipster();
             });

或尝试使用

skip_before_filter :verify_authenticity_token

这可能对你有所帮助。

答案 1 :(得分:0)

根据rails-api,尝试将config.api_only = false设置为config/application.rb文件

或者,由于protect_from_forgery是属于ActionController的方法,因此请尝试将require "action_controller/railtie"添加到application.rb