問題タブ [activemodel]

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.

0 投票する
2 に答える
543 参照

ruby-on-rails-3 - ActiveRecord CRUD 操作をオーバーライドするには?

「rails generate model...」を使用してモデルを作成し、作成、更新、削除のビューを含むすべての CRUD を作成してから、Rails CRUD メソッドをオーバーライドして、たとえばすべてを印刷する代わりに何か他のことを行うことは可能ですか?または何でも?

代わりに、モデルを JSON にエンコードし、それをデータベースに保存するミドルウェアに送信する必要があります。

小さな例が本当に役に立ちます...どうもありがとう...

助けてください!

0 投票する
2 に答える
2341 参照

ruby-on-rails - ActiveModel:関連するモデルが失敗したときに失敗する検証を無効にする

Rails3はvalidates_associatedデフォルトで常にすべてのモデルに対して実行されますか?

このような簡単なセットアップで

コメントが無効なため、コメントが添付された新しい投稿は失敗します。

validates_associated常に実行されている場合、なぜそこにあるのですか(変更するため:messageですか?)、どうすればオフにできますか?試しvalidates_associated :comments, :unless => proc{true}ましたが、何もしません。

モデルを保存したいだけです。それぞれが有効な場合は関連する各レコードを保存しようとしますが、関連するモデルが無効な場合は失敗しません。


編集:これは私がやろうとしていることに近いです

本、映画など、ゲームと同じ構造に従うモデルが他にもあります。その場合WikipediaParagraph.paragraph == nil、ゲームは検証に失敗します。has_one :wikipedia_paragraph, :validate => falseゲームが保存され、WikipediaParagraphが保存されなかった場合は、どちらも保存せずに両方を保存したほうがいいと思います。

使うよりもエレガントなものが欲しいと思っていました

has_one/many今では、おそらく不可能だと気づきました。

0 投票する
2 に答える
4142 参照

ruby-on-rails - ActiveModel-ビュー-ActiveRecordの代わりにRailsのコントローラー?

モデルにデータベースとの関係を持たせたくないので、モデルにActiveRecordの代わりにActiveModelを使用しようとしています。

以下は私のモデルです:

そして、これが私のコントローラーです:

そして私の見解は:

しかし、このビューをブラウザにロードすると、例外が発生します。

誰かがこれを手伝ってくれませんか?

よろしくお願いします!

0 投票する
1 に答える
466 参照

ruby-on-rails-3 - Rails、コールバックの作成

オブジェクトが投票された後に呼び出されるようにActiveModel コールバックを使用したいのですが、問題は、モデルを投票可能にするために使用している宝石 ( voteable_mongo ) が、アプリで投票モデルやコールバックのように提供されないことです。コールバックを作成できますか?

明らかに私が作成した投票アクションですが、私が使用している宝石にはこのメソッドがあります。このメソッドをどのように適切に拡張してコールバックをトリガーしますか?

0 投票する
1 に答える
332 参照

ruby-on-rails - Rails: モデル (アクティブなレコードにバインドされていない) を xml として返す

Active レコードにバインドされていないモデル クラスがあります。

モデルは処理ステータス ホルダーとして機能し、最終的に呼び出し元のメソッドに返されます。

これはアクティブなリソース メソッドとして呼び出されるため、xml として戻す (シリアル化する) 必要があります。これが私のアクションメソッドです:

ただし、これは有効なxmlを返していないようです。

@process_status以下のように出力しようとすると

これは私が得るものです:

オブジェクトは #<ProcessingStatus:0x00000005e98860> です。

私が欠けているものを教えてください。

編集#1、

以下のコメントに基づいて、シリアル化ライブラリを含めるようにコードを変更しました。

私は近づいています :) .xml リクエストに対して次のような出力が得られます。割り当てた値が反映されません。

しかし、jsonリクエストを行うと、正しく表示されます!

0 投票する
7 に答える
33364 参照

ruby-on-rails - ActiveModel::MissingAttributeError はデプロイ後に発生し、しばらくすると消えます

Rails 3.0.9 アプリをデプロイすると、ActiveModel::MissingAttributeErrors が大量に発生し、500 秒が発生します。エラーはかなりランダムに発生し、ページがロードされる場合とロードされない場合がありますが、属性はすべてデータベース内の既存の属性であり、見つける必要があります。

奇妙な部分は、しばらくするとエラーがなくなることです。突然、問題が発生しなくなります。

これに対する解決策を探しましたが、このエラーはほとんどの場合、誰かが実行Model.all(:select => 'column_x,column_y')して呼び出してcolumn_zいる場合、または cache_money を使用している場合に発生します。私はこれらのことのどちらもしていません。

誰でも助けることができますか?

0 投票する
1 に答える
490 参照

ruby-on-rails - デフォルトの ActiveRecord/ActiveModel ::エラーは匿名です

デフォルトの ActiveModel::Errors は素晴らしいですが、メッセージが匿名であるという問題を解決しています。たとえば、フィールドにshould look like an email address.属するメッセージがありますが、このエラーメッセージがタイプemailであることを知りたいです。formatもう 1 つのメッセージdoesn't match confirmationconfirmationtype です。

より良いエラーの宝石はありますか、またはモンキーパッチのアイデアを持っている人はいますか?

ありがとう

0 投票する
0 に答える
205 参照

ruby-on-rails-3 - Railsのデフォルトバリデーターをオーバーライドする

私はプラグインに取り組んでいます。このプラグインでは、いくつかの動作を追加して activerecord を拡張します。私の変更により、Rails の 'validates_uniqueness_of'-validator を多少変更して、私の変更を認識させ、期待どおりに動作させる必要があります (本当に必要なのは、このバリデータにスコープを適用することだけです)。

私の質問は次のとおりです:
プラグインで AR のデフォルトの 'validates_uniqueness_of'-validator をどのように書き換え/変更できますか?

御時間ありがとうございます!
エルウィン

0 投票する
1 に答える
264 参照

ruby-on-rails - 「お問い合わせ」フォームを実装するために ActiveModel を使用する際の問題

Ruby on Rails 3.0.9 を使用しており、「お問い合わせ」フォームを自分で実装しようとしています。そう...

...私のモデルファイルには次のものがあります:

...私のビューファイルには次のものがあります:

...ルーターファイルには次のものがあります:

...私のコントローラーファイルには次のものがあります:

上記のコードを使用して、少なくとも空白のフィールドを含むフォームを送信し (検証に合格しないようにするためにこれを行います)、フォームをリロードすると、それらのフィールドが自動入力されません。つまり、フォームをリロードした後 (これは送信ボタンを押した後に発生します)、フィールド値はすべて空白の値に設定されます。

何が問題ですか?の使い方が間違っていActiveModelますか?

0 投票する
1 に答える
228 参照

ruby-on-rails - DelayedJob の使用時にクラス属性を使用して ActiveModel を実装する際の問題

Ruby on Rails 3.0.9 と DelayedJob 2.1 を使用しており、ActiveModel 機能を使用して「お問い合わせ」フォームを自分で実装しようとしています。そう...

...私のモデルファイルには次のものがあります:

...私のビューファイルには次のものがあります:

...ルーターファイルには次のものがあります:

...私のコントローラーファイルには次のものがあります:

メールテンプレートのクラス属性に関連する::Pages::Mailer.delay.contact_us(@contact_us)メソッドでコードを使用する場合を除いて、すべて機能full_namefull_nameします(ただし、メールテンプレートでメソッドを呼び出さないfull_name場合は機能します)。つまり、Dalayed Job で次の電子メール テンプレートを使用すると、次のようになりますundefined method 'full_name\' for #<ContactUs:0x000001041638c0> \n/RAILS_ROOT/app/views/pages/mailer/contact_us.html.erb

上記の電子メール テンプレートを Dalayed Jobなしで (つまり、::Pages::Mailer.contact_us(@contact_us).deliverコードを使用して) 使用すると、機能します。

関連するメーラー コードは次のとおりです。

ただし、代わりにを::Pages::Mailer.delay.contact_us(@contact_us)含む単純なメールを ( を使用して) 送信すると、メールを受信したときに次の出力が得られます (インスタンス変数が存在することに注意してください!)。@message_content.inspect@message_content.full_namefull_name

Dalayed Job の問題は何ですか?どうすれば解決できますか?


full_nameたとえば、emailすべてが機能する属性など、同じように機能しているため、なぜこれが起こるのか本当にわかりません。また、Apache2 サーバーを再起動しようとしました。