小编Sma*_*mar的帖子

Rails 3设计,在模型中无法访问current_user?

在我的project.rb模型中,我正在尝试使用动态变量创建一个范围:

scope :instanceprojects, lambda { 
    where("projects.instance_id = ?", current_user.instance_id)
} 
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

undefined local variable or method `current_user' for #<Class:0x102fe3af0>
Run Code Online (Sandbox Code Playgroud)

在控制器中我可以访问的位置current_user.instance_id......模型是否有理由无法访问它以及获取访问权限的方法?此外,这是创建上述范围的正确位置,还是属于控制器?

activerecord ruby-on-rails ruby-on-rails-3

46
推荐指数
3
解决办法
4万
查看次数

PHP星期几数字到星期几文本

这可能非常简单,但我找不到PHP函数来执行此操作...

好的

$dow_numeric = date('w');
Run Code Online (Sandbox Code Playgroud)

给出星期日到星期六0-6周的数字日.

$dow_text = date('D');
Run Code Online (Sandbox Code Playgroud)

给出了一周中文本日的3个字母缩写(Sun,Mon等)

是否有功能或简单的方法$dow_numeric来获取$dow_text?如果我有'0' $dow_numeric,我该怎么做$dow_text = 'Sun'?是的,switch声明可以完成这项工作,但我正在寻找更优雅的解决方案.

php date

46
推荐指数
5
解决办法
7万
查看次数

如何动态定义一个类方法,它将引用外部的局部变量?

class C
end

var = "I am a local var outside"

C.class_eval do
   def self.a_class_method
     puts var 
   end
end
Run Code Online (Sandbox Code Playgroud)

我知道,这是不正确的,因为def创建了一个新的范围.我也知道use define_method可以在不创建新范围的情况下创建实例方法,但我的观点是如何定义类方法.

ruby closures dynamic local-variables class-method

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

如何与MySQL进行"独特"连接

我有两个MySQL表(产品和价格历史记录),我想加入:

Product 表:

Id = int
Name = varchar
Manufacturer = varchar
UPC = varchar
Date_added = datetime
Run Code Online (Sandbox Code Playgroud)

Price_h 表:

Id = int
Product_id = int
Price = int
Date = datetime
Run Code Online (Sandbox Code Playgroud)

我可以执行一个简单的LEFT JOIN:

SELECT Product.UPC, Product.Name, Price_h.Price, Price_h.Date
FROM Product
LEFT JOIN Price_h
ON Product.Id = Price_h.Product_id;
Run Code Online (Sandbox Code Playgroud)

但正如预期的那样,如果我在价格历史表中有多个产品条目,我会得到每个历史价格的一个结果.

如何构建一个只返回每个产品的一个实例的连接,只加入与它相关的价格历史表中的最新条目?

mysql join subquery distinct left-join

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

jq - 如何过滤不包含的json

我有一个我要过滤的aws查询jq.我想过滤所有imageTags以"最新"结束

到目前为止,我做了这个,但它过滤包含"最新"的东西,而我想过滤不包含"最新"的东西(或不以"最新"结尾)

aws ecr describe-images --repository-name <repo> --output json | jq '.[]' | jq '.[]' | jq "select ((.imagePushedAt < 14893094695) and (.imageTags[] | contains(\"latest\")))"
Run Code Online (Sandbox Code Playgroud)

谢谢

json jq

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

检查ruby中是否存在模块

例如,我正在从cli上传递的参数中动态定义模块名称 Required::Module::#{ARGV.first}

有没有办法检查该模块是否存在?另外,我怎么会在它上面运行方法而不知道它的确切名称?

ruby

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

Rake任务:错误处理

我还在学习Rake.

Rake是否已经内置支持来处理任务的错误,如NANT的MSBuild:如果此任务失败; 执行anoter任务(回滚等)

例如:在MSBuild中他们有OnError元素

<OnError ExecuteTargets="RollBackDatabase" />
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助

ruby rake

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

安装aws php sdk - 意外变量

我正在尝试使用AWS php sdk,并设置了一些问题.当我运行需要自动加载器的php脚本时,我收到此错误:

Parse error: syntax error, unexpected '$value' (T_VARIABLE) in /[directory path]/Aws/functions.php on line 36
Run Code Online (Sandbox Code Playgroud)

我看了那个文件,第36行就是那个开头的if ($pred($value)).

function filter($iterable, callable $pred){
    foreach ($iterable as $value) {
        if ($pred($value)) {
            yield $value;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

不确定如何解决这个问题,所以任何提示都将非常感激.我尝试过的事情:用作曲家安装.用.zip安装.

遵循以下步骤:http://docs.aws.amazon.com/aws-sdk-php/guide/latest/installation.html

php amazon-web-services aws-sdk

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

打印一个XML文档,顶部没有XML标题行

我只是想找出如何to_xml用a Nokogiri::XML::Document或a Nokogiri::XML::DocumentFragment.

或者,我想在一个上使用xPath Nokogiri::XML::DocumentFragment.我无法确定如何做到这一点,但我成功地解析了一个Nokogiri::XML::Document.

我后来将解析并修改DocumentFragment为另一段XML,但我真的被我认为是一些非常简单的事情所困扰.

就像试图to_xml在doc或docfrag上做一样,而不是在顶部包含那个xml行.为什么这么难?

ruby xml nokogiri

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

动态创建QML ListElement和内容

所以我试图在一个动态创建ListElements ListModel.这工作正常,直到我尝试在ListElements中编写一些动态加载的内容.

我尝试使用ListElement内部和小时作为属性创建一个自己的文件,但模型然后我得到一个错误,说ListElements不能嵌套.

运行以下代码的错误是:

无法分配给不存在的属性"小时"

我怎么解决这个问题?

码:

import QtQuick 2.0

ListModel
{
    id: listModel

    Component.onCompleted:
    {
        for (var i = 0; i < 24; i++)
        {
            var object = createListElement(listModel)
        }
    }

    function createListElement(parent)
    {
        var object = Qt.createQmlObject('import QtQuick 2.0; ListElement { hour: "01" }', parent);

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

编辑: 将函数中的代码行更改为:

var object = Qt.createQmlObject('import QtQuick 2.0; ListElement { property string hour: "23" }', parent);
Run Code Online (Sandbox Code Playgroud)

现在我没有错误,但元素仍未显示在列表中.

解:

import QtQuick 2.0

ListModel
{
    id: listModel

    Component.onCompleted: …
Run Code Online (Sandbox Code Playgroud)

qt qml

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