小编Ala*_*n S的帖子

Rails - 如何在不触发Net :: SMTPFatalError的情况下使用完整的电子邮件地址?

我是rails的新手,并使用rails-2.3.5和ruby-1.8.7.这是我的notifier.rb模型:

# app/models/notifier.rb
class Notifier < ActionMailer::Base
  default_url_options[:host] = "foo.com"  

  #This method sends an email with token to users who request a new password
  def password_reset_instructions(user)  
    subject       "Password Reset Instructions"  
    from          "Support Team<support@foo.com>"  
    recipients    user.email  
    sent_on       Time.now  
    body          :edit_password_reset_url => 
                   edit_password_reset_url(user.perishable_token)  
  end  
end
Run Code Online (Sandbox Code Playgroud)

当我调用此方法时,我收到以下错误:

Net::SMTPFatalError in Password resetsController#create
555 5.5.2 Syntax error. 36sm970138yxh.13
Run Code Online (Sandbox Code Playgroud)

我发现一篇文章说这个问题是ruby-1.8.4中的一个错误,修复方法是从:from字段中删除尖括号.果然,如果我只使用"support@foo.com"代替"支持团队<support@foo.com>",一切正常.

但是,在rails-2.3.5 API或ActionMailer Basics rails指南中没有引用此问题,实际上它们在其actionmailer设置示例中都显示"name <mail address>".谁知道我做错了什么?

ruby-on-rails actionmailer

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

Python - 类定义中的多个@property语句?

快速学习课程.我一直在读,构造函数(Python中的def init)应该只设置已分配的变量,计算的实例属性应该通过属性设置.此外,使用@property优先于Java风格的getter/setter.

好的,但是我见过的每个例子都只设置了一个属性.假设我有一个具有三个复杂属性的对象需要计算,查询等.你如何表示多个@property getter,setter,deleters?以下是另一篇文章的示例:

class C(object):
    def __init__(self):
        self._x = None

    @property
    def x(self):
        """I'm the 'x' property."""
        return self._x

    @x.setter
    def x(self, value):
        self._x = value

    @x.deleter
    def x(self):
        del self._x
Run Code Online (Sandbox Code Playgroud)

因此,如果我有三个实例变量是基于其他一些属性的计算值,它是否会像这样

class C(object):
    def __init__(self):
        self._x = None

    @property
    def x(self):
        """I'm the 'x' property."""
        return self._x

    @x.setter
    def x(self, value):
        self._x = value

    @x.deleter
    def x(self):
        del self._x

    @property
    def y(self):
        """I'm the 'y' property.""" …
Run Code Online (Sandbox Code Playgroud)

python properties class decorator python-decorators

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

SQLAlchemy order_by 公式结果

我是Python新手。基于这篇SO 文章,我使用 PYODBC 创建了一个 SQL 查询来搜索历史期权价格的 MSSQL 表,并选择执行值最接近我指定的所需值的期权符号。然而,我现在尝试通过重构这个程序来自学 OOP,为此我尝试在 SQLAlchemy 中实现 ORM。

我不知道如何实现计算的 Order_By 语句。我认为计算列不起作用,因为desired_strike是用户(我)在每个方法调用时指定的参数。

这是(简化的)原始代码:

import pyodbc

def get_option_symbol(stock, entry_date, exp_date, desired_strike):
    entry_date = entry_date.strftime('%Y-%m-%d %H:%M:%S')
    exp_date = exp_date.strftime('%Y-%m-%d %H:%M:%S')

    cursor.execute("""select top(1) optionsymbol 
                    from dbo.options_pricestore 
                    where underlying=? 
                    and quotedate=? 
                    and expiration=? 
                    and exchange='*' 
                    and option_type=?
                    order by abs(strike - ?)""",
                    stock, 
                    entry_date,
                    exp_date,
                    desired_strike,
                    )
    row = cursor.fetchone()  
    return row
Run Code Online (Sandbox Code Playgroud)

也许不是最 Pythonic,但它确实有效。我现在将以前的过程代码封装到类中,并使用 SQLAlchemy 的 ORM,但在这种情况下,我无法弄清楚如何在 Order_By 子句中表示 abs(strike -desired_strike)。我过去没有太多使用 lambda 函数,但这是我想到的:

import sqlalchemy

class Option(Base):
__tablename__= 'options_pricestore' …
Run Code Online (Sandbox Code Playgroud)

python sql sql-server sqlalchemy

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