所以我在http://guides.rubyonrails.org/getting_started.html跟随官方的ROR教程,我被困在第5.7节,它将展示这些文章。在我的代码中,我使用消息而不是文章。 以下是我的控制器和new.html.erb
Controller code
class MessagesController < ApplicationController
def index
@messages = Msg4me.all
end
def show
@message = Msg4me.find(params[:id])
end
def new
end
def create
@message = Msg4me.new(message_params)
@message.save
redirect_to @message
end
private
def message_params
params.require(:message).permit(:title, :text)
end
end
new.html.erb
<p>IT's <%= Time.now %> now</p>
<p>Leave me a message below</p>
<%= form_for :message,url: messages_path do |f| %>
<p>
<%= f.label :title %><br>
<%= f.text_field :title %>
</p>
<p>
<%= f.label :text %><br>
<%= f.text_area :text %>
</p>
<p>
<%= f.submit %>
</p>
<% end %>
routes.rb
Rails.application.routes.draw do
get "homepage" => "homepage#hello"
resources :messages
root :to => "homepage#hello"
end
我有一个错误
MessagesController中的NoMethodError #create 未定义的方法`msg4me_url'代表# MessagesController:0x000000076248a8
此错误有什么问题?我已经考虑了很长时间而无法解决它。
答案 0 :(得分:0)
def new
@message = Msg4me.new
end
<强> new.html.erb
强>
<p>IT's <%= Time.now %> now</p>
<p>Leave me a message below</p>
<%= form_for (:message,url: messages_path) do |f| %>
<p>
<%= f.label :title %><br>
<%= f.text_field :title %>
</p>
<p>
<%= f.label :text %><br>
<%= f.text_area :text %>
</p>
<p>
<%= f.submit %>
</p>
<% end %>