rails 3中的ActionView :: MissingTemplate

时间:2012-04-16 11:21:10

标签: ruby-on-rails ruby-on-rails-3

我是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,但没有运气。 任何解决方案?

3 个答案:

答案 0 :(得分:1)

Rails正在尝试呈现HTML代码段,但您提供的唯一部分内容被标记为Javascript代码段。

您可能想要一个名为_chat.html.erb

的HTML-erb部分

答案 1 :(得分:0)

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

答案 2 :(得分: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。