0

私はレールが初めてで、http://railscasts.com/episodes/260-messaging-with-fayeに従ってレールアプリにチャットを実装したいのですが、レンダリングできません

コントローラー:

def index @messages = Chat.all // all available chats 

次のエラーが表示されます。

Missing partial chats/chat with {:handlers=>[:builder, :erb, :coffee], :formats=>[:html], :locale=>[:en, :en]}. Searched in:
  * "/home/swagata/Desktop/swagata_new/swagata/app/views"
  * "/home/swagata/.rvm/gems/ruby-1.8.7-p160@swagata/gems/devise-2.0.4/app/views"

部分的な名前 _chat.js.erb を作成しようとしましたが、うまくいきませんでした。解決策はありますか?

4

3 に答える 3

1

Rails は HTML スニペットをレンダリングしようとしていますが、提供された唯一のパーシャルは Javascript スニペットとしてマークされています。

おそらく、_chat.html.erb という HTML-erb パーシャルが必要です。

于 2012-04-16T11:28:56.290 に答える
0

chat.erbを作成し、機能しているかどうかを確認します

于 2012-04-16T11:26:32.270 に答える
0

json 呼び出しを使用してメッセージをレンダリングする場合。あなたのコントローラーで

def index
  @messages = Chat.all
  respond_to do |format|
   format.js { render "chat" }
  end 
end

ビュー ファイルには、アンダースコアのない chat.js.erb ファイルが必要です。そして、chat.js.erb には、たとえば次のものが含まれる場合があります。

$('#chat').html("<%=j render '/messages' "); ID「chat」のdivでメッセージをレンダリングする行。

同じディレクトリに、@messages をレンダリングするための _messages.html.erb ファイルがあるはずです。

于 2012-04-16T13:27:47.760 に答える