問題タブ [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.
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
。ただし、ドキュメントにはまだバグがあるようです。
ruby - テンプレートメソッドのトールソースパス
Thorテンプレートメソッドを使用しようとしています。しかし、私の場合の仕様を書いたとき、スクリプトがテンプレートディレクトリを認識していないことがわかりました
ディレクトリ構造
command.rb 内の Thor タスクの実装
失敗した仕様
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
ruby-on-rails - Thor でのクラス間呼び出し
別のトールクラスからトールクラスを呼び出そうとしています。
メソッドを呼び出しますが、同じクラス内のメソッドを呼び出します。このクロスクラスを行う方法はありますか? 私は、Thor フレームワークを使用する適切な方法を想定しています。
編集
タスクを他のクラスに委任する 1 つのクラスを作成しようとしています。たとえば、 を呼び出しfoo bar list
、メイン クラス Foo がメソッド list を使用して Bar クラスにデリゲートするかfoo module find 1
、メソッド find と引数 1 を使用して Module クラスにデリゲートします。
ruby - Thor にオプションを表示させるにはどうすればよいですか?
これは私のRubyコードです:
これは出力です:
どうすればこのように見えるようになりますか?
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プロジェクトではない場合、ジェネレーターをどのように再構築する必要がありますか?
ruby-on-rails - Thor Gem - タスクの前にパラメーターを送信する
紛らわしい説明です。例を参照してください。
これはかなり簡単です。したがって、私が呼び出すと(トールはクラス名を最初の識別子として使用するようにこのように設定されています)。現在は ID がないため、何も出力されません。
最後に、Thor を使用してこの形式でメソッドにパラメーターを送信するにはどうすればよいですか?
私がやろうとしているのは、タスク名の前にパラメーター bar を渡すことです。これは Thor で可能ですか?
紛らわしい質問で申し訳ありませんが、現時点で複雑なコードを単純化する最良の方法です。
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
のですが、どうやら減価償却されているようです。代わりに使えるものはありますか? 私のテンプレートを形作る上で、より一般的なアドバイスもありがたく受け取られます。
ruby - ジェネレータ テンプレート SCSS ファイルへの動的書き込み
パイプラインのアセットの標準設定用に、レールで独自のジェネレーターを作成しようとしています。ジェネレーターでRyan Bates Railscastをフォローしています
彼は動的コードを html.erb ファイルに追加する方法を説明していますが、私は scss ファイルで同様のことをしようとしましたが、タグを出力するだけです:
ただし、create_template を呼び出すときにそれを実行する代わりに、テンプレートにコードを追加するだけです。私はファイル .scss.erb を呼び出してみましたが、それでも喜びはありませんか?
if ステートメントを機能させるためにファイルを微調整する方法についてのアイデアはありますか?
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)
さまざまな場所で使用しようとしましたが、一般的にこのコードを何度も再配置しましたが、データを標準入力に入れるためのスタブを取得できないようです。コマンドのファイルで行うのと同じ方法で、コマンドラインから期待される一連の入力を解析できるかどうか、またはこの問題を解決するためにどのコード構造を使用する必要があるかはわかりません。コマンドライン アプリの仕様を決めた人が参加できれば、それは素晴らしいことです。ありがとう。