我怀疑,如果两个命令之间存在差异,当我想在轨道中创建没有视图的动作时,我总是使用redirect_to它之后没有返回并且我从来没有遇到任何问题,但直到我忘记了redirect_to我意识到rails建议做一个redirect_to and return如果我不想有动作的视图,那么我想知道,添加返回时有什么区别吗?至少在我的情况下我从来没有注意到任何差异或错误.
我正在尝试在Ruby on Rails中优化我的应用程序,我意识到我的应用程序中的图片是加载所需的最长时间,但我也注意到另一个问题,即谷歌浏览器没有缓存图像.
我注意到这一点,因为在Google Developers Console中,您可以看到Google Chrome会请求加载在图像真正加载之前取消的图像.
这可以在这里看到,首先我打开谷歌开发者控制台,然后刷新页面,在第一个请求中你可以看到图像,但它们会立即被取消.
之后,您可以看到实际加载图像的请求.
我不明白为什么会出现这种情况,如果在响应头,你可以看到,Cache Control被设定为public与max-age = 31536...
我把这些图像放在我的应用程序中:
<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是不是这样呢?谷歌浏览器行为如此奇怪是正常的吗?
我不明白为什么我会收到这些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) 我看了这个:
让我们从一个简单的Ruby程序开始吧.我们将编写一个返回愉快,个性化问候的方法.
Run Code Online (Sandbox Code Playgroud)def say_goodnight(name) result = "Goodnight, " + name return result end
我的理解是方法是在类中定义的函数或子例程,它可以与类(类方法)或对象(实例方法)相关联.
那么,如果没有在类中定义它,那该怎么办?
我正在尝试在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) 我是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)我有一个使用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正确注射?
我想知道为什么我有这个输出.
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,有人可以向我解释这个吗?
ruby ×2
angularjs ×1
arrays ×1
assets ×1
c ×1
caching ×1
dereference ×1
javascript ×1
json ×1
numpy ×1
object ×1
parameters ×1
pointers ×1
python ×1
scipy ×1