問題タブ [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 on Rails でセクション固有のナビゲーションを実装するにはどうすればよいですか?
2 つまたは 3 つの主要な「セクション」を持つ Ruby/Rails アプリがあります。ユーザーがそのセクションにアクセスしたときに、サブナビゲーションを表示したいと考えています。3 つのセクションはすべて同じレイアウトを使用しているため、ナビゲーションをレイアウトに「ハード コード」することはできません。
これを行うには、いくつかの異なる方法を考えることができます。人々が投票するのを助けるために、私はそれらを答えとして入れます。
他のアイデアはありますか?または何に投票しますか?
ruby-on-rails - 「render :template => ...」の後に「assigns」にアクセスするにはどうすればよいですか?
ApplicationController にエラー処理メソッドがあります。
でRAILS_ROOT/app/views/errors/not_found.html.erb
、私はこれを持っています:
しかし@exception
、常にnil
そこにあります。試してみましたがdebug assigns
、それは常に{}
です。呼び出し時に代入はコピーされませんrender :template
か? もしそうなら、どうすれば入手できますか?
私はエッジレールにいます。
ruby-on-rails - Railsプラグインでビューをテストするにはどうすればよいですか?
私はいくつかのパーシャルを含むRailsプラグインを書いています。パーシャルをテストしたいのですが、パーシャルをレンダリングするテストを設定するのに苦労しています。関連するコントローラーがないので、私はただ1つを偽造しています:
しかし、その:render
呼び出しは常に爆発します。ActionView::Base
の代わりにを使用してみましたActionController::Base
が、それはさらに遠くなりません。
誰かが成功しましたか?
ruby-on-rails - Railsで異なるフォーマットの一部をレンダリングするにはどうすればよいですか?
HTMLを含むJSON応答を生成しようとしています。したがって、私は持っています/app/views/foo/bar.json.erb
:
レンダリングしたいのですが、レンダリング/app/views/foo/_baz.html.erb
するだけ/app/views/foo/_baz.json.erb
です。合格:format => 'html'
しても役に立ちません。
ruby-on-rails - Rails: フォーム (コレクション選択) を使用して show-action を呼び出す
属性「name」と「id」を持つ「book」という名前のモデルが与えられます。このコレクションの選択を使用して、特定の本のショーアクションを呼び出すにはどうすればよいですか? 以下に示す 1 つのコードは、次のエラー メッセージを返します。
ID=book_id の本が見つかりませんでした
ruby-on-rails - Rails バリデーションと 'fieldWithErrors' ラッピング select タグ
<div class="fieldWithErrors">
検証エラーのあるラップされた選択タグを取得しないのは正常な動作ですか? 個人的には、選択タグを他のフォーム タグ (input、textarea) とは異なる方法で扱う必要がある理由はわかりません。
そのフィールドのエラーとメソッドが表示されます。error_messages_for
error_message_on
PS。ActionView::Base.field_error_proc
div の代わりにスパン タグを取得するために少し変更しましたが、それは問題ではありません。
ruby-on-rails - ビューにキャッシュされたフラグメントをコンソールから期限切れにするにはどうすればよいですか?
何かのようなもの
動作しないようです。これは可能ですか?ありがとう。
ruby-on-rails - 要求されたテンプレートが Rails にない場合にデフォルト テンプレートをレンダリングする
プラグインの場合、次の機能を Rails にハックしたいと考えています。
(部分的な) テンプレートが (形式に関係なく) 存在しない場合、デフォルトのテンプレートをレンダリングしたいと考えています。
したがって、users/index.html.erb (または他の形式) が存在しない場合に「users/index」というアクションを呼び出すと、「default/index.html.erb」がレンダリングされます。
同様に、アクション「locations/edit」を呼び出し、「locations/edit.html.erb」が存在しない場合、「default/edit.html.erb」をレンダリングする必要があります
パーシャルの場合、アクション「locations/index」を呼び出し、テンプレート「locations/index.html.erb」が存在しないパーシャル「locations/_location」を呼び出す場合、「default/_object」をレンダリングする必要があります
解決策はシークで、テンプレート変数 (@users、@locations など) と要求されたパス (users/index、locations/edit など) の情報にアクセスできます。また、パーシャルでも動作するはずです。
以下に投稿するいくつかのオプションを考えました。どれも完全に満足できるものではありません。
ruby-on-rails - Rails:ActionView-Helper'collection_select'で値を事前選択します
ドロップダウンメニューで事前に選択される値をActionView-Helpercollection_select
に取得させようとしています。
どちらでもない(:selected
html-option-hash内)
また(:selected
オプションハッシュで)
うまくいくようです。
私は何が間違っているのですか?誰かがこれで私を助けることができますか?