問題タブ [partials]
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 - railshtmlヘルパー
私は、HTMLを少し生成し、その中にコンテンツをネストする最もクリーンな方法を見つけようとしています。HAMLを使用します。基本的に私は次のようなことをしたいです:
そしてそれは生成するはずです:
問題は、これを達成する方法がわからないことです。パーシャル?ヘルパー?必要なコンテンツをどのようにネストするかについて、私は夢中になっています。HAML DRYを維持しようとしていて、イメージタグを何度も明示的に宣言する必要がないようにします。
php - Zend Framework - 共有ビュー スクリプト パス (グローバル パーシャル)
パーシャルの共有ビュー スクリプト パスを設定して、Zend Framework 内でグローバル パーシャルを作成するにはどうすればよいですか?
モジュール間でパーシャルを呼び出すことができることはわかっています
ただし、すべてのビューからアクセスできるように、ルート (つまり、モジュールの下) に部分フォルダーをセットアップする必要があります。
共有ビュー スクリプト パスを設定するよう提案されましたが、これはどのように行われますか?
zend-framework - パーシャル内のZendサイクル
Zendでゼブラテーブルを作成するときに「Cycle」を使用する代わりの方法はありますか?(私のバージョンにはサイクルヘルパーがなく、実際にアップグレードする必要はありません。
部分的なループを使用し、各テーブルが異なるbgカラーを出す必要があります。ただし、部分ループは繰り返しのない標準ループとして機能していないようです
rspec - Rspecパーシャル問題
レイアウトでレンダリングされたメニュー(部分的に)を持つViewの仕様を書いています。選択したメニューのスペックを書きたい。これがコードです
この仕様は失敗しています。パーシャルの仕様を書く正しい方法が得られていません。私も試してみまし
template.should_receive(:render).with(:partial => "/layout/admin/menu")
た。
よろしくお願いします、プラビン。
ruby-on-rails - パーシャルから Rails アプリのメインの「yield」を呼び出す
私の質問はとても簡単です。答えが明らかな場合は最初に質問し、そうでない場合は意味を説明します。
メインの 'yield' 呼び出しを、layout.html.haml ファイルから直接行うのではなく、パーシャルから行うことは問題ないと考えられますか? そうすることで、あらゆる種類のパフォーマンスが低下しますか。
説明...
application.html.haml というレイアウト ファイルが 1 つあります。
そのページにサイドバーが存在しない限り、メインコンテンツがページ幅全体を占めるようにしたい.
サイドバーがある場合は、メイン コンテンツがページ幅の 66% を占めるようにし、サイドバーが残りのスペースを使い切るようにします。
私のレイアウトには次のものがあります。
コンテンツ div は 100% ページ幅です。サイドバーが存在しない場合、「利回り」の結果はこの div に入ります。サイドバーがある場合、メイン イールドは #main と呼ばれる div に入ります。これはページ幅の 66% です。
素晴らしい、これはうまくいきます。
ここで、メイン ビューを整理するために、コードを少しリファクタリングして、次のようにしました。
そして、部分的_main_with_sidebar.html.haml
に私はこれを持っています:
したがって、サイドバーが存在する場合は常にメインの yield がパーシャルから呼び出されるという事実を除いて、すべてが同じです。
したがって、私の質問は、これがベストプラクティスと見なされるかどうかに関するものです。それとも、少し乱雑な application.html.haml ファイルに固執して、部分的なものを取り除く必要がありますか? 問題はないようですが、やりすぎる前に何か間違っているかどうかを知りたいです。
はい、一部の人にはばかげているように見えるかもしれませんが、私は開発者ではなくデザイナーであり、この種のことは私にとって新しいことです....
ruby-on-rails - 結合せずに複数のビューを1つのビューに統合しますか?
私が持っているとしましょう:
オブジェクトA、B、Cはそれぞれ、対応するモデル、ビュー、およびコントローラーを備えています
それらすべてを1つのビュー(サイトインデックス)にどのようにロードしますか?各モデルのインデックスの一部を使用することもできますが、その場合、その特定のコントローラーのメソッドは呼び出されないため、そのビューのメソッドを追加する必要があります。他に何か提案はありますか?ありがとう!
ruby-on-rails - 大規模なRailsプロジェクトでのCSSの管理
大規模なRailsプロジェクトでCSSを処理するためのいくつかの良い方法は何ですか?理想的には、CSSまたはCSSファイルへのリンクをパーシャルごとに含めることができるようにしたいと思います。
私はcontent_forとyieldsを使って遊んだことがあります。これにより、他の場所にあるパーシャルを使用してページの先頭にCSSを挿入できますが、一部のパーシャルは複数回使用されるため、スタイルリンクが2倍になります。
私の理想的な解決策は、パーシャルごとにスタイルシートリンクタグを頭に挿入する機能です。その後、本番環境では、これらのリンクが1回だけ含まれる1つの大きなスタイルシートにまとめられます。
ruby-on-rails - Rails: 2 つの非常によく似たビューを分離する最良の方法は何ですか?
「show」、「show_modify」という2つのアクションを持つコントローラーがあります。これらは非常に似ていますが、わずかに異なるビューを持っています。つまり、show_modify には異なるdiv
クラスがあり、追加のリンク/ボタンなどがあります。
私が見てきたことから、レールでこれにアプローチするにはいくつかの方法があります。
2 つのテンプレートを 1 つ作成し、内部に条件を追加するだけです。
それでも、非常に多くの違いがあるため、これは非常に見苦しく繰り返しのように見えます。また、これは教会と国家の分離に対するある種の違反でもあります (私は MVC の専門家ではありません...)。
部分的な方法: 異なって表示される要素ごとに、アクションごとに 1 つずつ、2 つの部分を作成します。ビューは次のようになります。
ただし、重複する要素があるため、これは DRY に違反します。サブパーシャルをさらに作成し続けることはできますが、基本的にはタートルを最後まで使用することになります。繰り返したくない場合は、最終的には if/else を実行する必要があります。
地元の人々とのパーシャル:
しかし、これは別の多くの場合の解決策です....
より良いオプションはありますか?content_for
多分?私は一種のRails初心者なので、何かを完全に見逃しているかもしれません....
ruby-on-rails - Railsの部分テンプレートのオプションのローカル変数:(定義済み?foo)の混乱から抜け出すにはどうすればよいですか?
私は悪い子で、パーシャルテンプレートで次の構文を使用して、パーシャルをレンダリングするときに値が:localsハッシュで明示的に定義されていない場合に、ローカル変数のデフォルト値を設定しました-
これは、(理由もなく)渡されなかった変数が(未定義ではなく)nilに定義されているかのように動作し始めた最近まで、正常に機能しているように見えました。
SOでさまざまな役立つ人々が指摘しているように、http://api.rubyonrails.org/classes/ActionView/Base.htmlは使用しないように言っています
代わりに使用する
私は自分のやり方を修正しようとしていますが、それは多くのテンプレートを変更することを意味します。
先に請求して、すべてのテンプレートでこの変更を行うことはできますか?注意が必要なトリッキーはありますか?それぞれをどれだけ熱心にテストする必要がありますか?
ruby-on-rails - パーシャルを要求するにはどうすればよいですか?
私はRailsにかなり慣れていないので、Stringクラスにメソッドを追加する方法を理解し、Stringクラスが追加されたことを部分的なコードに認識させようとしています。requireステートメントをどこに置くべきかわかりません。