您好我在尝试通过new.html使用form_for将我的姓名添加到我的index.html时遇到问题,请仔细查看下面的代码并更正我的代码
我的控制器
def new
@post = Name.new
端
def create
@post = Name.new(post_params)
if @post.save
redirect_to names_path, notice: "your name was added"
else
render "new"
end
end
def post_param
params.require(:post).permit(:name)
end
我的new.html.erb
<h1> Add your name </h1>
<%= form_for @post do |f| %>
<%= f.label :name %>
<%= f.text_field :name %>
<%= f.submit "Add your name" %>
<% end %>
当我点击f.submit(htlm中出现的按钮)时,我在这个较低的部分遇到了麻烦,它会把错误抛给我。
答案 0 :(得分:1)
您的new
和create
方法应如下所示
def new
@post = Post.new #here
end
def create
@post = Post.new(post_params) #here
if @post.save
redirect_to names_path, notice: "your name was added"
else
render "new"
end
end
您对attribute names
与model name
的使用感到困惑。您应该看看这些 Guides 。它应该对您有帮助。
<强>更新强>
正如您所说,您创建了 Name
模型,您不应该创建 attribute
,这与您的<强> model name
强>
<强>解决方案强>
将attribute name
或model name
更改为其他有意义的名称。