小编Ahm*_*eat的帖子

使用AWS JS SDK时,请求标头不包含HTTP_X_CSRF_TOKEN

我有一个Rails应用程序,我可以通过ajax发布问题的答案,它工作正常,但是,我添加了aws-js-sdk脚本,以便能够从浏览器上传我的答案中的图像,图像将上传到s3,发送回来在回调中新上传的图像的url,然后我保存答案.

我把这个库包括在内:

 <%= javascript_include_tag "//sdk.amazonaws.com/js/aws-sdk-2.1.12.min.js" %>
Run Code Online (Sandbox Code Playgroud)

预期的行为:当我使用图像提交答案时,请求标题应包含HTTP_X_CSRF_TOKEN以验证表单是否在我的网站内提交.

问题:请求标头不包含HTTP_X_CSRF_TOKEN,这导致错误ActionController::InvalidAuthenticityToken

javascript ajax ruby-on-rails amazon-web-services aws-sdk

11
推荐指数
1
解决办法
531
查看次数

测试功能足够吗?

标题说明了,如果我使用水豚测试:

visit this page
expect this content 
Run Code Online (Sandbox Code Playgroud)

并为每个功能(例如登录,注册,搜索,点击所有链接和按钮等)执行此操作,这样就足够了吗?为什么我需要测试控制器和模型?如果功能按预期工作,这是不是意味着一切都在协调工作?

ruby-on-rails capybara

4
推荐指数
1
解决办法
140
查看次数

为什么这个Ruby方法返回"void value expression"错误?

我有这个简单的方法

def is_palindrome?(sentence)
  raise ArgumentError.new('expected string') unless sentence.is_a?(String)
  safe_sentence = sentence.gsub(/\W+/, '').downcase
  return safe_sentence == safe_sentence.reverse
end

is_palindrome?"rails"
Run Code Online (Sandbox Code Playgroud)

当我运行它时,我void value expression在第4行得到错误,这是return语句

这有什么不对?

ruby

4
推荐指数
1
解决办法
2451
查看次数

在heroku上的Searchkick重新索引

我部署到heroku时不断收到此错误:

 Searchkick::MissingIndexError in PostsController#search
Index missing - run Post.reindex
Run Code Online (Sandbox Code Playgroud)

它正在开发中,但我如何重新编制索引?如果可能,请包括确切的步骤.

这是我的控制器参考:

def search
    @posts = Post.search(params[:search])
end
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails searchkick

3
推荐指数
1
解决办法
2290
查看次数

设计+ omniauth_facebook如何获取大型Facebook图片

我正在使用devise_omniauth facebook从Facebook检索用户图片,一切正常,我只想获得更大的图片,我已经阅读了很多类似的问题,但他们都提供了我觉得不方便的网址.这是我的user.rb:

def self.from_omniauth(auth)
        where(provider: auth.provider, uid: auth.uid).first_or_create do |user|
            user.email = auth.info.email
            user.password = Devise.friendly_token[0,20]
            user.name = auth.info.name
        user.image_string = auth.info.image
        end
    end
Run Code Online (Sandbox Code Playgroud)

有什么建议 ?

ruby-on-rails devise omniauth

2
推荐指数
1
解决办法
677
查看次数

为什么我有多个 &lt;script&gt; 标签而不是 Rails 应用程序中的一个?

当我在 chrome 上检查我的索引页时,head 标签有多个标签:

<script src="/assets/components/questions/question_likes.self-6aaf2ce97062977185e0d5f9fc31643ca8fd012bfb53c12752977afdab1260be.js?body=1" data-turbolinks-track="true"></script>
<script src="/assets/components.self-e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855.js?body=1" data-turbolinks-track="true"></script>
<script src="/assets/moment.self-0da3eb4ebf8fb8c3113d89afb90e5b7a87760d21b5b39a405a51fe05c8e40fd8.js?body=1" data-turbolinks-track="true"></script>
<script src="/assets/jquery-fileupload/vendor/jquery.ui.widget.self-92c37a41e67e528eecf100716907331b4b9aa4f546bf75ef2e0529c8c03a562d.js?body=1" data-turbolinks-track="true"></script>
<script src="/assets/jquery-fileupload/jquery.iframe-transport.self-e461f7ff2a60ee89459106a6f3e349cf79b7f56066b3c8cbc73389b30e1eb592.js?body=1" data-turbolinks-track="true"></script>
<script src="/assets/jquery-fileupload/jquery.fileupload.self-79c952fc273d5a8955a6093f4f489dcd509c5a2cefb2b9a049d3cdb2710ec8d3.js?body=1" data-turbolinks-track="true"></script>
<script src="/assets/jquery-fileupload/basic.self-6a3cf5192354f71615ac51034b3e97c20eda99643fcaf5bbe6d41ad59bd12167.js?body=1" data-turbolinks-track="true"></script>
<script src="/assets/jquery-fileupload/vendor/tmpl.self-c2108a63ad9ae9ab4a723bcf0104f6a92a63eb917331ff69fad6f02fe7219488.js?body=1" data-turbolinks-track="true"></script>
<script src="/assets/s3_direct_upload.self-a71af1e40427c6623d982df253581eb58013b84d84f45bcef7d0352ad4e82534.js?body=1" data-turbolinks-track="true"></script>
<script src="/assets/application.self-c88a422e522d3887e663830741eb19213b74b0bcee8413fffde6decde58266aa.js?body=1" data-turbolinks-track="true"></script>
Run Code Online (Sandbox Code Playgroud)

我认为 rails 将所有 js 文件连接成一个,为什么会发生这种情况?我正在使用react,没有turbolinks。

javascript ruby-on-rails asset-pipeline

1
推荐指数
1
解决办法
306
查看次数