1

質問: redtape gem の使い方の簡単な例を持っている人はいますか? すべてがどのように組み合わされるかを示す基本的な MVC の例を期待しています。

別の関連する質問: これを起動して実行するには、他にどのような作業が必要になる可能性がありますが、それは Readme.md の説明に記載されていませんか? 初心者 (私のような) が知らないかもしれない宝石の所有者は、どのようなことを想定しているでしょうか?

注:ここでは「エラー」をほのめかしていますが、関連性がないと確信しているため、投稿しないでください。これを機能させるために基本を正しく行っているとは思えないため、表示されている特定のエラーに意味があるとは思いません。

私は赤テープの宝石が私が必要としているものだと確信しています

私はaccepts_nested_attributes_for (ANAF)に代わる良いものを探しています.redtape gemはこの種のものに人気があるようです. (履歴については、以前投稿した次の 2 つの質問を参照してください: Rails 3.2 app - Should I use a versioning gem (paper_trail or vestal_versions) or handle it manual?Rails - How to manage nested attributes without using accept_nested_attributes_for? .)

でも私は馬鹿すぎて使えない - 何を知らないのかわからない

私の問題は、付属のドキュメントに従って実際に宝石を使用するには無知すぎることです。通常、Railscastsのエピソード ( #196 Nested Model Form (revised)のように、ANAF が私がやっていることに対して十分に堅牢ではないことに気付く前に、最初に ANAF を指摘した) を介してこの種のソリューションに出くわすので、準備されたガイドに従うだけで、このオプションを見つけました。この場合、Railscast がないので、ちょっと行き詰まっています。

これが私やったことです

gem をインストールし、readme で提供されているサンプル コードを使用してみましたが、これで十分です。実際に使用しようとするたびに、多くのエラー (「...redtape_path が存在しません」、さまざまなデータ型エラー) が発生し、コントローラー コードをいじると変化するように見えます。しかし、より大きな問題は、自分が何をしているのかわからず、何かを一緒にハックしようとしているだけだと思います.

例 (Readme.md から):

//The form...

<%= form_for @form, :as => :whatever %>
...

# The controller
class SomethingController
  def new
    @form = Redtape::Form.new(self, params)
  end

  def create # should support update as well...
    @form = Redtape::Form.new(self, params)
    if @form.save
      # ...
    else
      # ...
    end
  end
end

私が必要だと思うもの

実際にレッドテープを使用した人はいますか?すべての可動部分 (MVC) を示す例を共有できますか? 何か大きなものを失っている気がします。私は基本的にこの例を模倣しましたが、まったく運がありませんでした (エラーが発生しただけです)。私が見逃しているものは他にありますか?Form オブジェクトである「何か」モデルが必要ですか? それはどのように見えますか?

この投稿も見たことに注意してください - Fat ActiveRecord Modelsをリファクタリングするための7つのパターン- これは役に立ちそうです(ポイント3.おそらく非常に関連しているようです)が、私が見つけたものを利用するのに十分な知識はまだありません。遠い。

4

1 に答える 1

0

私は赤いテープを書きました。ただし、README が示すように、Form オブジェクトはまったく私の考えではありません。実際、それは Bryan Helmkamp (sp?) のものでもありませんでしたが、彼のブログ投稿が私に彼の特定のテクニックをエミュレートして自動化するように促しました。初めてそれを見たのは、1999 年に Apache Struts であったと思います。

redtapeを使いやすくしようとしました。そうは言っても、ClearFit 用に書いてから 1 回、使用中に問題が発生しました。私はそれを診断する時間がありませんでした (非常に急いでいる小さなプロジェクトだったので)、simple_form との予期しない相互作用だったのかもしれません。

いずれにせよ、典型的なANAFの状況では、ネストされたパラメータをに渡すだけでよいはずですRedtape::Form.new。返されたFormオブジェクトを呼び出し#saveて、Redtape に永続化を処理させるか、オブジェクト グラフの上部を で抽出できます#model。IIRC は、Form検証エラーも公開します。

お役に立てれば。

于 2013-03-28T22:29:29.090 に答える