我已经找到了解决这个问题的多种方法,但似乎都不适合我。在我的messages/index.html.erb中,我放了:
<%= form_for(@message, :remote => true) do |f| %>
<%= f.text_field :content %>
<%= f.submit "Send" %>
<% end %>
在我的消息控制器中:
def index
@message = Message.new
@messages = Message.all
end
在我的路线上。rb:
get "/messages/index"
但由于某种原因,我得到了错误:
NoMethodError in Messages#index
undefined method `messages_path' for #<#<Class:0x0000010207d7c8>:0x0000010205c6b8>
Extracted source (around line #5):
2: <%= render @messages %>
3: </ul>
4:
5: <%= form_for(@message, :remote => true) do |f| %>
6: <%= f.text_field :content %>
7: <%= f.submit "Send" %>
8: <% end %>
我该怎么解决这个问题?
form_for,您使用它的方式,希望您的路由被设置为到控制器的资源。
你应该在你的路线
resources :messages
这将为您提供所有restful URL的
http://guides.rubyonrails.org/routing.html#crud-动词和动作