小编R. *_*eff的帖子

Rails 3跨多个模型自动完成

所以我在Autailsmplete for Rails 3上找到了一些很棒的信息,它看起来非常简单易用.但我有一个不适合的用例,我需要一些建议.

我想让用户能够通过简单的表单将产品和服务添加到发票中.我希望他们能够输入Item字段并将其从Product.name和Service.name自动完成作为单个集合.

我正在考虑尝试编写覆盖所有三个的父模型,但我仍然认为这不能解决我的问题,因为我无法从我理解的自动完成定义中使用函数.

关于如何尝试实现这一目标的任何建议?即使使用简单的搜索示例,它们似乎仅限于单个模型.

autocomplete ruby-on-rails ruby-on-rails-3

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

对多页表单的复杂模型进行验证

我正在尝试使用设计和活跃商家编写注册.表单很复杂,我的用户对象如下所示:

class User < ActiveRecord::Base
  include ActiveMerchant::Utils

  # Include default devise modules. Others available are:
  # :token_authenticatable, :encryptable, :confirmable, :lockable, :timeoutable and :omniauthable
  devise :database_authenticatable, :registerable, 
         :recoverable, :rememberable, :trackable, :validatable, :omniauthable

  # Setup accessible (or protected) attributes
  attr_accessible :email, :password, :password_confirmation, :remember_me, :username, :first_name, 
                  :subscription_attributes, :last_name, :zipcode, 
                  :payment_profile_attributes, :customer_cim_id, :payment_profile_id

...

  # Track multi-page registration
  attr_writer :current_step

...

  # Setup Payment Profile element (authorize.net billing profile)
  has_one :payment_profile, :dependent => :delete
  accepts_nested_attributes_for :payment_profile
Run Code Online (Sandbox Code Playgroud)

现在,PaymentProfile类有自己的子项,来自活跃商家的两项:

require 'active_merchant'

class PaymentProfile < ActiveRecord::Base …
Run Code Online (Sandbox Code Playgroud)

validation nested-forms multipage ruby-on-rails-3

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

CDK 中代码管道的跨账户访问

我正在尝试使用 CDK 和 CodePipeline 设置跨帐户部署管道。

\n\n

我从 AWS 文档构建了示例 CodePipeline 示例,并能够使用 cdk 成功部署到单个账户中。\n( https://docs.aws.amazon.com/cdk/latest/guide/codepipeline_example.html )

\n\n
$ cdk deploy PipelineDeployingLambdaStack --profile=111111111111\n
Run Code Online (Sandbox Code Playgroud)\n\n

这样就成功返回了。

\n\n

然后,使用 cdk-codepipeline-actions 文档中的跨账户指令,我将该account属性添加到我的部署操作中。\n( https://docs.aws.amazon.com/cdk/api/latest/docs/aws- codepipeline-actions-readme.html#cross-account-actions

\n\n
        {\n          stageName: \'Deploy\',\n          actions: [\n            new codepipeline_actions.CloudFormationCreateUpdateStackAction({\n              account: \'222222222222\',   // introduce cross-account deployment\n              ......\n            }),\n          ],\n        },\n
Run Code Online (Sandbox Code Playgroud)\n\n

进行此更改并cdk synth再次运行后,它会生成一个按预期调用的新堆栈cross-account-support-stack-222222222222.template.json

\n\n

到目前为止,一切都很好。

\n\n

当我尝试运行时cdk deploy,它立即抛出跨帐户引用错误:

\n\n
$ cdk deploy PipelineDeployingLambdaStack --profile=111111111111\nIncluding dependency stacks: cross-account-support-stack-222222222222\ncross-account-support-stack-222222222222 (PipelineDeployingLambdaStack-support-222222222222)\ncross-account-support-stack-222222222222 (PipelineDeployingLambdaStack-support-222222222222): deploying...\n\n \xe2\x9d\x8c  cross-account-support-stack-222222222222 (PipelineDeployingLambdaStack-support-222222222222) failed: …
Run Code Online (Sandbox Code Playgroud)

aws-codepipeline aws-cdk

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

RegExp\A\z不起作用,但这就是Rails 4所需要的

我最近切换到Rails 4,安全要求似乎不再允许使用/^..$/样式的正则表达式.该错误指出正则表达式应该以/\A..\z/的样式编写.进行此更改似乎解决了我的所有服务器端验证问题,但不幸的是它也破坏了我在javascript中的所有客户端验证.

一个简单的例子.我想验证用户名是字母,数字还是句点.

旧的正则表达式看起来像/^[0-9a-zA-Z.]+$/并且在服务器端(Rails 3.x)和客户端都工作

new RegExp( /^[0-9a-zA-Z.]+$/ ).test('myuser.name') = true
Run Code Online (Sandbox Code Playgroud)

新的正则表达式看起来像/\A[0-9a-zA-Z.]+\z/并且在服务器端工作但客户端失败

new RegExp( /\A[0-9a-zA-Z.]+\z/ ).test('myser.name') = false
Run Code Online (Sandbox Code Playgroud)

所以我显然做错了什么,但我似乎无法找到任何解释.我检查了\ A ..\z是有效的正则表达式,以确保它不是一些Rails特定的黑客,它似乎是合法的.

有任何想法吗?

javascript regex ruby-on-rails ruby-on-rails-4 parsley.js

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