1

formatasticHAML形式で使用しています。

- semantic_form_for @company do |f|
  - f.inputs do
    = f.input :description 
    = f.input :type 
    = f.input :industry 
    = f.input :hq 
    = f.input :products 
    = f.input :subsidiaries 
    = f.input :employees 
    = f.input :revenue 
    = f.input :net_income 
  = f.buttons 

既存のレコードを保存しようとすると、エラーが発生します。

Template is missing
Missing template companies/update.erb in view path app/views

最近、フォームを ER​​B から HAML に移行しました。ERB で使用されていたフォーム。

この問題を解決するにはどうすればよいですか?

編集

問題を解決しました。HAML や Formtastic とは関係ありません。saveメソッドにブロックを渡していたため、問題が発生しました。詳細については、下の私の回答を参照してください。

4

3 に答える 3

1

Rails の Haml 用プラグインをインストールしましたか?

于 2010-03-02T16:51:10.133 に答える
1

このエラーの理由がわかりました。OAuth プラグインを使用した別のプロジェクトのコントローラーのコードを再利用しました。saveOAuth プラグインでは、ブロックを ActiveRecordメソッドに渡す必要があります。通常の ActiveRecordsaveはブロックをサポートしていません。ブロックを削除すると、すべてが機能します。元のコード:

  def update
    @company.attributes = params[:company]
    @company.save do |result|
      if result
        flash[:notice] = "Successfully updated company."
        redirect_back_or_default root_url
      else
        render :action => 'edit'
      end
    end
  end

いくつかの参考資料:

第1条

第2条

于 2010-03-02T20:37:14.927 に答える
0

Rails は app/views/companies/ で update.something.erb (おそらく update.html.erb) というビュー ファイルを探しています。私の推測では、代わりに update.html.haml ファイルがあるため、エラーが発生しています。

いずれにせよ、これは Formtastic とは関係ありません。

app/views/companys にリストされているファイルは何ですか?

于 2010-03-02T19:39:26.710 に答える