0

我是 Rails 新手,我想在我的 Rails 应用程序中按照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

如果您想使用 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.html.erb 文件来呈现@messages。

于 2012-04-16T13:27:47.760 回答
0

创建 chat.erb 并检查它是否正常工作

于 2012-04-16T11:26:32.270 回答