小编Pat*_*ard的帖子

redirect_to vs redirect_to并返回

我怀疑,如果两个命令之间存在差异,当我想在轨道中创建没有视图的动作时,我总是使用redirect_to它之后没有返回并且我从来没有遇到任何问题,但直到我忘记了redirect_to我意识到rails建议做一个redirect_to and return如果我不想有动作的视图,那么我想知道,添加返回时有什么区别吗?至少在我的情况下我从来没有注意到任何差异或错误.

ruby-on-rails

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

谷歌浏览器不会缓存图片

我正在尝试在Ruby on Rails中优化我的应用程序,我意识到我的应用程序中的图片是加载所需的最长时间,但我也注意到另一个问题,即谷歌浏览器没有缓存图像.

我注意到这一点,因为在Google Developers Console中,您可以看到Google Chrome会请求加载在图像真正加载之前取消的图像.

这可以在这里看到,首先我打开谷歌开发者控制台,然后刷新页面,在第一个请求中你可以看到图像,但它们会立即被取消.

google_not_caching

之后,您可以看到实际加载图像的请求.

在此输入图像描述

我不明白为什么会出现这种情况,如果在响应头,你可以看到,Cache Control被设定为publicmax-age = 31536...

response_header

我把这些图像放在我的应用程序中:

<div class="col-xs-3"><%= image_tag "#{@hero.id}/ability_1.png", class: "center-block"%></div>
Run Code Online (Sandbox Code Playgroud)

并且图像被组织在文件夹中 app/assets/images

有没有RoR方法来解决这个问题?

编辑:现在在Windows中测试我的应用程序(在Heroku中)我注意到事实上Google Chrome有时会缓存图像,但它发生在50%的时间(当我在Ubuntu开发时它不起作用一个单一的时间),而在Firefox中首次图像加载,但随后的时间我打开我甚至无法注意到重装了同样的观点,这是beatiful,为什么谷歌Chrome是不是这样呢?谷歌浏览器行为如此奇怪是正常的吗?

caching assets google-chrome ruby-on-rails

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

不允许的参数:格式

我不明白为什么我会收到这些Unpermitted parameter: format消息,我正在执行 JSON 请求:POST "/questions/add_options.json"使用这些参数Parameters: {"id_question"=>551, "options"=>[{"position"=>10, "label"=>"opc 10", "value"=>"opc 10", "go_page"=>nil}], "question"=>{}},这就是我在终端中得到的......

Started POST "/questions/add_options.json" for 127.0.0.1 at 2016-08-16 23:12:27 -0300
Processing by QuestionsController#add_options as JSON
  Parameters: {"id_question"=>551, "options"=>[{"position"=>10, "label"=>"opc 10", "value"=>"opc 10", "go_page"=>nil}], "question"=>{}}
  User Load (0.4ms)  SELECT  "login_aexa".* FROM "login_aexa" WHERE "login_aexa"."usuaex_id" = $1  ORDER BY "login_aexa"."usuaex_id" ASC LIMIT 1  [["usuaex_id", 1]]
Unpermitted parameter: format
  Question Load (0.4ms)  SELECT  "questions".* FROM "questions" WHERE "questions"."id" = $1 LIMIT 1  [["id", 551]] …
Run Code Online (Sandbox Code Playgroud)

parameters json ruby-on-rails

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

为什么允许在Ruby之外的类之外定义全局方法?

我看了这个:

让我们从一个简单的Ruby程序开始吧.我们将编写一个返回愉快,个性化问候的方法.

def say_goodnight(name)
    result = "Goodnight, " + name
    return result
end
Run Code Online (Sandbox Code Playgroud)

我的理解是方法是在类中定义的函数或子例程,它可以与类(类方法)或对象(实例方法)相关联.

那么,如果没有在类中定义它,那该怎么办?

ruby object

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

我的GMRES实施有什么问题?

我正在尝试在Jupyter Notebook中实现GMRES,这是(如果您不知道):

在此输入图像描述

这是我的代码:

import numpy as np

def GMRes(A, b, x0, e, nmax_iter, restart=None):
    r = b - np.asarray(np.dot(A, x0)).reshape(-1)

    x = []
    q = [0] * (nmax_iter)

    x.append(r)

    q[0] = r / np.linalg.norm(r)

    h = np.zeros((nmax_iter + 1, nmax_iter))

    for k in range(nmax_iter):
        y = np.asarray(np.dot(A, q[k])).reshape(-1)

        for j in range(k):
            h[j, k] = np.dot(q[j], y)
            y = y - h[j, k] * q[j]
        h[k + 1, k] = np.linalg.norm(y)
        if (h[k + 1, k] != 0 and k …
Run Code Online (Sandbox Code Playgroud)

python numpy scipy numerical-methods jupyter-notebook

5
推荐指数
2
解决办法
1885
查看次数

尝试覆盖to_s

我是Ruby的新手,但我不明白为什么会有这样的结果。

  • 我有一个Person类中,我有实例变量@name@age@weight。在该I类重写to_s方法打印@name@age以及@weight所述对象的。
  • 我在我有类型的对象的阵列的房屋类
    Person@persons),并且还我称的方法person返回对象(在位置与所述参数数量指定)在阵列中@persons,因此,例如,any_house_object.person(0) 将返回对象类型Person上的any_house_object对象数组中的第一个对象。

    class Person
        def initialize(name, age, weight)
            @name = name
            @age = age
            @weight = weight
        end
    
        def to_s
            puts "Name: #{@name}"
            puts "Age: #{@age}"
            puts "Weight: #{@weight}"
        end
    end
    
    class House
        def initialize
            @persons = []
        end
    
        def add_person(name, age, weight)
            @persons << Person.new(name, age, weight)
        end
    
        def person(number) …
    Run Code Online (Sandbox Code Playgroud)

ruby

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

ReferenceError:$ state未定义

我有一个使用AngularJS的rails应用程序,我有一个问题,问题是我希望state在一个表单被提交后重定向到某个,但在chrome的控制台我有一个ReferenceError: $state is not defined没有任何反应.

状态错误

这是我的控制器.

angular.module('myapp')

.controller('CreatePollCtrl', ['$scope', 'Restangular', '$state',
function($scope, Restangular) {

  $scope.addPoll = function() {
    if ($scope.allow_anonymous_answer == null)
      $scope.allow_anonymous_answer = false

    var poll = {title: $scope.title, description: $scope.description, allow_anonymous_answer: $scope.allow_anonymous_answer, initial_message: $scope.initial_message, final_message: $scope.final_message};
    Restangular.all('polls').post(poll).then(function(response) {
      $state.go('dashboard');
    });
  };
}]);
Run Code Online (Sandbox Code Playgroud)

我能做什么?,是否$state正确注射?

javascript ruby-on-rails angularjs

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

试着用指针理解这句话

我想知道为什么我有这个输出.

a[0]: 5, a[1]: 5, ptr: 5
Run Code Online (Sandbox Code Playgroud)

从这个小程序.

#include <stdio.h>

int main() {
    int a[2] = {5, 10};
    int *ptr = a;

    *ptr = *(ptr++);

    printf("a[0]: %d, a[1]: %d, ptr: %d\n", a[0], a[1], *ptr);

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我不理解的部分是.

*ptr = *(ptr++);
Run Code Online (Sandbox Code Playgroud)

因为根据我应该发生的事情是,PTR应指向10,仅此而已,因为++后缀应该增加配置后PTR,所以按照我这个应该分配的值[0]到[0](哪个不会影响任何东西)并且在这个ptr之后应该指向[1]上的10,但真正发生的是最后一个[1]也是5,有人可以向我解释这个吗?

c arrays pointers dereference

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