所以我在Autailsmplete for Rails 3上找到了一些很棒的信息,它看起来非常简单易用.但我有一个不适合的用例,我需要一些建议.
我想让用户能够通过简单的表单将产品和服务添加到发票中.我希望他们能够输入Item字段并将其从Product.name和Service.name自动完成作为单个集合.
我正在考虑尝试编写覆盖所有三个的父模型,但我仍然认为这不能解决我的问题,因为我无法从我理解的自动完成定义中使用函数.
关于如何尝试实现这一目标的任何建议?即使使用简单的搜索示例,它们似乎仅限于单个模型.
我正在尝试使用设计和活跃商家编写注册.表单很复杂,我的用户对象如下所示:
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) 我正在尝试使用 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\nRun 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 stageName: \'Deploy\',\n actions: [\n new codepipeline_actions.CloudFormationCreateUpdateStackAction({\n account: \'222222222222\', // introduce cross-account deployment\n ......\n }),\n ],\n },\nRun Code Online (Sandbox Code Playgroud)\n\n进行此更改并cdk synth再次运行后,它会生成一个按预期调用的新堆栈cross-account-support-stack-222222222222.template.json。
到目前为止,一切都很好。
\n\n当我尝试运行时cdk deploy,它立即抛出跨帐户引用错误:
$ 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) 我最近切换到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特定的黑客,它似乎是合法的.
有任何想法吗?
autocomplete ×1
aws-cdk ×1
javascript ×1
multipage ×1
nested-forms ×1
parsley.js ×1
regex ×1
validation ×1