我想添加一個簡單的消息形式與Ajax調用練習,但獲取關於模板的錯誤是缺少。錯誤顯示其設計(創業板)相關的錯誤。錯誤是Rails 4,Ajax模板丟失
使用{:locale => [:en],:formats => [:html],:variants => [],:handlers => [:erb]缺少模板消息/ create,application/create ,:builder,:raw,:ruby,:slim,:jbuilder]}。搜查:* 「/home/.rvm/gems/ruby-2.2.2/gems/devise-3.5.4/app/views」
守則內留言/ index.html.erb
<h1>Chat</h1>
<ul id="chat">
<%= render @messages %>
</ul>
<%= form_for Message.new, remote: true do |f| %>
<input name="authenticity_token"
type="hidden"
value="<%= form_authenticity_token %>"/>
<%= f.text_field :subject, placeholder: "Subject" %>
<%= f.text_field :content %>
<%= f.submit "Send" %>
<% end %>
局部視圖是_message.html.erb
<li>
<%= message.subject %>: <%= message.content %>
</li>
create.js.erb
$('#chat').append("< %= j render(@message) %>");
$("#message_content").val('');
,並創建控制器動作messages_controller.rb是
def create
@message = Message.create!(params[:message])
# respond_to do |format|
# format.html
# format.js { render 'create.js.erb' }
# end
end
文件' create.js.html'應該叫做'create.js.erb',試試讓我們知道 –
對不起,我的錯誤已經是** create.js.erb ** –
我不認爲是設計問題,也許它會嘗試在您想運行腳本的同時嘗試使用html文件進行響應。爲了迴應js,你必須寫下:'respond_to do | format |如果@message = Message.create!(params [:message])format.js end' –