問題タブ [attr-protected]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby-on-rails - Ruby on Rails attr_protected
User モデルに次のコードがあります。
新しいユーザー オブジェクトを作成しようとしていますが、次のコードで一括割り当て保護エラーが発生します。
attr_protected を回避してこのコードを機能させ、値を電子メールに割り当てる方法を知っている人はいますか?
ありがとうございました。
cakephp-2.0 - CakePHP 2.0 の Asset Helper と protected View _scripts
2.0 にアップグレードすると、保護された属性へのアクセスなどの多くの「ハック」ができなくなります。
例 (AssetHelper):
もちろん、ヘルパーの致命的なエラーです。2.0 でこれらの属性にアクセスする方法を知っている人はいますか? ヘルパー内からビューにアクセスしようとすると、AssetHelper やその他のそのようなクラスは古くなっていますか?
ruby-on-rails - FactoryGirlで保護された属性を設定する
FactoryGirlは私の保護された属性を設定しませんuser.confirmed
。ここでのベストプラクティスは何ですか?
私は@user.confirmed = true
自分の工場を使用した後に行うことができますが、それは多くのテストにわたって多くの繰り返しです。
ruby-on-rails - Elastic Search:インデックス付きデータを表示する方法
ElasticSearchとRailsで問題が発生しました。attr_protectedが原因で一部のデータが適切にインデックスに登録されませんでした。Elastic Searchはインデックス付きデータをどこに保存しますか?実際のインデックス付きデータが間違っているかどうかを確認すると便利です。
でマッピングを確認しTire.index('models').mapping
ても役に立たない場合は、フィールドが一覧表示されます。
ruby-on-rails - Railsでの保護された属性の割り当て
クリアランスレベルを決定するために保護されているユーザーモデルのフィールドがあります。したがって、保護されたままにして、一括割り当てできないようにする必要があります。したがって、3.2では属性がデフォルトで保護されていますが、それが実際に私が望む動作です。
ただし、1つのコントローラーメソッドでは、たとえばユーザーの作成やユーザーの更新時に、マネージャーがこのフィールドを割り当てることができるようにしたいと思います。
特定のコントローラーアクションにその属性を割り当てるにはどうすればよいですか?
たとえば、私は自分のコントローラーを持っています:
今、私がすることはclearance
から除外することですがparams[:user]
、その行に到達する前でも、フィルターで除外されて発生し、例外が発生するようです(その行のdebugger
直前に配置してコメントアウトしようとしましたが、それでも例外が発生しました)。
呼び出し時に保護されていない場合、保護された属性はどこでキャッチされますUser#new
か?
ruby-on-rails - attr_protected レール 4
こんにちはattr_protected
、Rails 4 で使用しようとしましたが、できませんでした。attr_protected
Railsからgemに抽出されたと言われています。params(strong_parameters) に新しい推奨保護モデルを使用するかprotected_attributes
、Gemfile に追加して古いものを使用してください。
私は何を知ることができますか?
python - namedtuple() 派生クラスからの属性の操作
EasyUrl()
から派生したというクラスがありurlparse.Parseresult()
ます。ParseResult()
を呼び出すときにインスタンス化されます。インスタンス化されたオブジェクトのクラス型をオブジェクトに変更urlparse.urlparse(url)
する静的メソッドが内部にあります。関数とクラスの型変換を関数にラップします。EasyUrl()
ParseResult()
EasyUrl()
urlparse.urlparse()
parse_url()
このような関数の背後にある理由は、別の問題を回避しようとする試みです。答えは必要ありませんが、答えが欲しいのですが、インスタンス化プロセス中にTypeError
when__new__
が呼び出され、無効な番号があることがわかります。引数の。
EasyUrl()
直接インスタンス化するときにエラーを受け取りました
クラスはParseResult()
から継承しnamedtuple()
ます。
urlparse ライブラリからの抜粋
コードの機能について少し説明しましたが、ここで問題が発生します。名前付きタプルの (ParseResult) 属性にアクセスできません。ParseResult()
欠落している場合のデフォルトのスキームを実装しようとしています。
しかし、クラス定義の属性にアクセスできません。
出力
ruby-on-rails - Ruby on Rails 5 で build() に何が起こったのか
Rails 4 / 5 でネストされたフォームを使用@my_model_instance.build
しています。Rails4 で使用されているコードが Rails 5 では機能しないようです。これがバグなのか、それとも私が原因なのかはわかりません。
詳細:
Rails 4.2.3 コンソール:
これは、文書化/期待どおりに機能します。Rails 5 (rc2) の同じコードベースで同じことを試してみましょう。
Rails 5.0.0rc2 コンソール:
これは私がやっていることですか、それともRails5はクレイジーですか?
モデルの関連セクション:
item_type.rb
item_instance.rb
ルビーのバージョン: