問題タブ [actionview]
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 アクション: 実行を停止するための一連のリターンを回避するには?
以下のコードをどのように DRY できますか? たくさんの ELSE をセットアップする必要がありますか? 私は通常、ネストされたifの束ではなく、「これが満たされた場合は停止する」、「これが満たされた場合は停止する」を見つけます。
redirect_to と render がアクションの実行を停止しないことを発見しました...
ruby-on-rails - 1 ページに複数のフォーム
現在、招待制ベータ版のアプリを持っています。問題は、招待システムが機能しないことです。:(
私のルート ページにはログイン フォーム (問題なく動作します) があり、同じページに「招待のリクエスト」フォームを追加しようとしています。InviteRequest (ActiveRecord) のフォームをパーシャル内の "InviteRequest" の "views" フォルダーに配置することから始めました。アプリは間違いなくこのパーシャルを呼び出していますが、次のエラーが発生しています。
「fieldset」タグを使用してこれを行うことについて、 「Rails を使用したアジャイル Web 開発」の信頼できるコピーの「フォーム内の複数のモデル」セクションも読みましたが、これが正しいアプローチであるかどうかはわかりません。
どうも。
ruby-on-rails - Railsプラグインで「app」へのパスを指定する適切な方法は何ですか?
この質問は、cells gemがFile.join('app'、'cells')を使用してテンプレートディレクトリを指定するために発生しました。Railsをデーモンとして実行するまでは正常に機能します(scripts / server -d)。デーモンはディレクトリを/に切り替え、セルのテンプレートパスが間違った絶対パスを指しているままにします。
私の解決策は、デフォルトのパスをFile.join(RAILS_ROOT、'app'、'cells')に設定することでした。これはRailsで機能しますが、RAILS_ROOTが定義されていないため、プラグインの単体テストは失敗します。...の使用File.join(File.dirname(__FILE__),'..'
も機能しますが、約6レベルの「..」が必要です。これは間違っているようです。
だから私の質問は、Railsプラグインの「app」の下にあるディレクトリへのパスを指定する適切な方法は何ですか?または、デーモン化Railsが相対パスを見つけられない原因となる他の問題がありますか?
ruby-on-rails - ActionView::Helpers::FormBuilder を拡張しようとしています
いくつかのロジックを FormBuilder に移動して、いくつかのコードを DRY しようとしています。フォームビルダーの選択方法と代替フォームビルダーに関するドキュメントを読んだ後、私にとっての論理的な解決策は次のように思えました。
ビューで
そして app/helpers/application_helper.rb に
ただし、これにより、「form_for」でエラーが発生します
どこで間違っていますか?
ruby-on-rails - パスを表示するクラス名
RoR アプリケーションとモデル SomeModel があります。このモデルのビューがあり、知りたいのですが、ビューのパスを取得する方法はありますか? もちろん、このモデルインスタンスに使用できます
それは機能していますが、もっと良い方法を知っていますか?:)
ruby-on-rails - Rails:パーシャルはインスタンス変数を認識する必要がありますか?
たとえば、Ryan Bates の nifty_scaffolding はこれを行います
edit.html.erb
new.html.erb
_form.html.erb
その隠れた状態が気持ち悪いので、普段はこうするのが好きです
edit.html.erb
_form.html.erb
では、どちらが優れているでしょうか: a) パーシャルにインスタンス変数にアクセスさせるか、b) パーシャルに必要なすべての変数を渡すか?
私は最近 b) を選択していましたが、ちょっとしたピクルスに出くわしました:
some_action.html.erb
_partial.html.erb
son.dad はデータベース呼び出しを行い、お父さんを取得します! したがって、@dad にアクセスする必要があります。これは、a) パーシャルにインスタンス変数にアクセスさせるか、ローカルで @dad を渡して render :partial を <%= render :partial => 'partial' に変更する必要があります。 , :locals => { :dad => @dad, :son => a_son } %> そして、何らかの理由で、私のパーシャルに大量の変数を渡すと、不快に感じます。たぶん他の人もこのように感じているでしょう。
うまくいけば、それはある程度の意味がありました。この全体についての洞察を探しています...ありがとう!
ruby-on-rails - SSL を使用してサイト訪問者の Rails ビュー コードを変更するにはどうすればよいですか?
私の Rails アプリには、SSL 必須のページと SSL オプションのページがあります。オプションのページは、http と https の両方の URL を持つ、オフサイト (ベンダーからの画像) で提供されるいくつかのアセットを使用します。「このページには安全な要素と安全でない要素の両方が含まれています」という恐ろしい警告を避けるために、SSL 経由でページにアクセスする場合は https を使用する必要があります。
画像の URL をデフォルトで http として返し、要求された場合は https として返すコードを作成しました。私の問題は、リクエストがどのように入ったかをビューで判断することです.request.ssl? ビューでは機能しません。
request.ssl? を使用して @ssl_request のようなものを設定する before_filter を使用してみましたが、それも常に false を返します。これを行うよりエレガントな方法はありますか?
サーバー スタックは Nginx と Passenger です。Apache => Mongrel スタックを使用する他のアプリは X_FORWARDED_PROTO ヘッダーを渡し、SSL が使用されているかどうかを Rails に伝えます。Nginx/Passengerがこれを行わない可能性はありますか?
ruby-on-rails - エラー時のレール日付フィールド形式
フォームに日付を取り込む入力フィールドがあります
ユーザーは、MM/DD/YYYY の形式で日付を入力します。ただし、モデルに検証エラーがあり、フォームが入力された値とともにユーザーに表示される場合、日付形式は YYYY-MM-DD HH:MM:SS UTC に変換されます。フォームがユーザーに表示されるときに、MM/DD/YYYY を表示するには、どこでこれをフォーマットしますか?
ありがとう。
ruby-on-rails - ActionViewでyieldマジックはどのように機能しますか?
私はcontent_for がどのように機能するかを見ていblock.call
て、capture_erb_with_buffer
メソッドで を観察しました。それはどうやら魔法のようにバッファ変数に書き込み、その後プルーニングされます。ただし、これは非推奨であり、<%=yield :tag%>
今すぐ呼び出すことができます。これはどのように作動しますか?ERB テンプレートから yield を呼び出した場合、どこに yield しますか?
ポイントを説明するための簡単なコードサンプルをいただければ幸いです。
ruby-on-rails - Railsで動的バナーのパブリックhtmlをレンダリングしますか?
各バナーには異なる性質 (一部の画像、一部のフラッシュなど) があるため、バナーを表示するための特定のHTML スニペットをレンダリングしたいと考えています。すべてのバナー ファイルは app/public/banner/ の下にあります。次のような多くの方法を試しました。
しかし、Rails はapp/viewsの下を検索するため、ファイルを見つけることができません。何か案は ?ありがとう!
ビュー パス app/views にテンプレートの banners/somebanner.html がありません