問題タブ [thor]

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 に答える
571 参照

ruby-on-rails - `rails generate scaffold_controller` がビューの引数に応答しません

scaffold_controllerヘルプで( rails generate scaffold_controller -h)

モデル名 (CamelCased または under_scored のいずれか)とビューのリストを引数として渡します。

追加するときに次のようなものを入力します

REST アクションとビューはすべて取得できますが、ホーム ビューは取得できません。

ここでscaffold_controller ジェネレーターの誕生までさかのぼってレールリポジトリの履歴を確認しましたが、引数を受け入れるように見えるものは何もありませんが、同じドキュメントが表示されます。

これは見過ごされたエラーですか、それとも引数を間違って入力していますか (または他の何か;)?

アップデート

ずっと探していたようですrails generate controller Page home。ただし、ドキュメントにはまだバグがあるようです。

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

ruby - テンプレートメソッドのトールソースパス

Thorテンプレートメソッドを使用しようとしています。しかし、私の場合の仕様を書いたとき、スクリプトがテンプレートディレクトリを認識していないことがわかりました

ディレクトリ構造

command.rb 内の Thor タスクの実装

失敗した仕様

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

ruby-on-rails - Spreeインストールエラー「spree(> = 0)x86-mingw32はthor(= 0.15.4)に依存します」

レールにspreeをインストールすると、gemリストに両方のバージョンがありますが、「thor」に依存するための複数のエラーが発生します。

Bundlerはgem"thor"と互換性のあるバージョンを見つけることができませんでした:Gemfileの場合:spree(> = 0)x86-mingw32はthor(= 0.14.6)x86-mingw32に依存します

注:使用したバージョンは次のとおりです。

レール3.2.6

スプリー1.1.2

ルビー1.9.3p194

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

ruby-on-rails - Thor でのクラス間呼び出し

別のトールクラスからトールクラスを呼び出そうとしています。

メソッドを呼び出しますが、同じクラス内のメソッドを呼び出します。このクロスクラスを行う方法はありますか? 私は、Thor フレームワークを使用する適切な方法を想定しています。

編集

タスクを他のクラスに委任する 1 つのクラスを作成しようとしています。たとえば、 を呼び出しfoo bar list、メイン クラス Foo がメソッド list を使用して Bar クラスにデリゲートするかfoo module find 1、メソッド find と引数 1 を使用して Module クラスにデリゲートします。

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

ruby - Thor にオプションを表示させるにはどうすればよいですか?

これは私のRubyコードです:

これは出力です:

どうすればこのように見えるようになりますか?

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

ruby-on-rails - ジェネレーター(トール、レール)へのソースパスの追加

rails new appName -m path/to/generator独自のアプリジェネレーター(つまり)を作成し、レールのジェネレーターと一緒にカスタムジェネレーターを使用しようとしています。

source_pathを追加する場合を除いて、すべてうまくいきます。これが既存のアプリのジェネレーターでどのように機能するかについての投稿がいくつかあります-ここを参照してください。同じエラーが発生します。

スクリプトの先頭に次の行を追加すると、次のようになります。

source_root File.expand_path('../dependencies'、FILE

コンソールは以下を返します: apply': undefined method 'source_root' for # Rails::Generators:: App Generator : 0x007f8b0a2a3798> (NoMethodError)

Railsプロジェクトに参加していて、純粋なRubyプロジェクトではない場合、ジェネレーターをどのように再構築する必要がありますか?

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

ruby-on-rails - Thor Gem - タスクの前にパラメーターを送信する

紛らわしい説明です。例を参照してください。

これはかなり簡単です。したがって、私が呼び出すと(トールはクラス名を最初の識別子として使用するようにこのように設定されています)。現在は ID がないため、何も出力されません。

最後に、Thor を使用してこの形式でメソッドにパラメーターを送信するにはどうすればよいですか?

私がやろうとしているのは、タスク名の前にパラメーター bar を渡すことです。これは Thor で可能ですか?

紛らわしい質問で申し訳ありませんが、現時点で複雑なコードを単純化する最良の方法です。

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

ruby-on-rails-3.2 - Rails 3.x で相当する「load_template」を減価償却しましたか?

私は自分の生産性を向上させ、レールテンプレートを使用したレールのベストプラクティスについて、確かに弱いが成長している理解を「保存」しようとしています。私の問題はrails-templates/base.rb、コードが 308 行の恥ずかしいほどぎこちないものになってしまったことです。私のレベルの誰かでさえ、それが最適ではないことを知っています。私はその怪物を扱いやすい断片に分解したいと思っています。

Ryan Batesが「RailsCasts #148, App Templates in Rails 2.3」でテンプレートを紹介しています。そこで Bates は、以下を使用してファイルをロードする認証テンプレートを作成します。base-template.rb

同じことをしたいload_templateのですが、どうやら減価償却されているようです。代わりに使えるものはありますか? 私のテンプレートを形作る上で、より一般的なアドバイスもありがたく受け取られます。

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

ruby - ジェネレータ テンプレート SCSS ファイルへの動的書き込み

パイプラインのアセットの標準設定用に、レールで独自のジェネレーターを作成しようとしています。ジェネレーターでRyan Bates Railscastをフォローしています

彼は動的コードを html.erb ファイルに追加する方法を説明していますが、私は scss ファイルで同様のことをしようとしましたが、タグを出力するだけです:

ただし、create_template を呼び出すときにそれを実行する代わりに、テンプレートにコードを追加するだけです。私はファイル .scss.erb を呼び出してみましたが、それでも喜びはありませんか?

if ステートメントを機能させるためにファイルを微調整する方法についてのアイデアはありますか?

0 投票する
4 に答える
5846 参照

ruby - rspec を使用して CLI の stdin をテストする方法

私は小さな Ruby プログラムを作成していますが、複数のユーザー コマンド ライン入力をシミュレートする RSpec 仕様を記述する方法がわかりません (機能自体は機能します)。この StackOverflow の回答は、おそらく私がいる場所に最も近い場所をカバーしていると思いますが、それは私が必要としているものではありません。コマンド ライン インターフェースにThorを使用していますが、これは Thor の問題ではないと思います。

このプログラムは、ファイルまたはコマンド ラインからコマンドを読み込むことができます。テストを正常に記述して、それらを読み込んで実行することができました。ここにいくつかのコードがあります:

cli.rb

次のコードを使用して、ファイルに含まれるコマンドを実行するテストに成功しました。

仕様/cli_spec.rb

上記はvalid_test_data次の形式です。

サポート/utilities.rb

私が今やりたいことはまったく同じことですが、「ファイル」から各コマンドを読み取って実行する代わりに、ユーザーがstdin. 以下のコードは完全に間違っていますが、私が行きたい方向性を伝えることができれば幸いです.

仕様/cli_spec.rb

私はcli.stub(:puts)さまざまな場所で使用しようとしましたが、一般的にこのコードを何度も再配置しましたが、データを標準入力に入れるためのスタブを取得できないようです。コマンドのファイルで行うのと同じ方法で、コマンドラインから期待される一連の入力を解析できるかどうか、またはこの問題を解決するためにどのコード構造を使用する必要があるかはわかりません。コマンドライン アプリの仕様を決めた人が参加できれば、それは素晴らしいことです。ありがとう。