0
我正在通過導軌「入門」教程的方式工作,而且我被困在引入偏見的地步。出於某種原因,從new.html.erb渲染時,partial不起作用,儘管它在從edit.html.erb渲染時工作。當點擊「新建」去的new.html.erb,我發現了以下錯誤:Rails快速入門教程部分不要爲新博客文章工作
錯誤:
「的形式第一個參數不能包含零或爲空」 的第一線在以下的部分:
_form.html.erb:
<%= form_for @post do |f| %>
<% if @post.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(@post.errors.count, "error") %> prohibited
this article from being saved:</h2>
<ul>
<% @post.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
</div>
<% end %>
<p>
<%= f.label :title %><br/>
<%= f.text_field :title %>
</p>
<p>
<%= f.label :text %><br/>
<%= f.textarea :text %>
</p>
<p>
<%= f.submit %>
</p>
<% end %>
new.html.erb:
<h1>New Post</h1>
<%= render 'form' %>
<%= link_to 'Back', posts_path %>
edit.html.erb:
<h1>Edit post</h1>
<%= render 'form' %>
<%= link_to 'Back', posts_path %>
posts_controller.rb:
...
def new
end
...
def edit
@post = Post.find(params[:id])
end
def update
@post = Post.find(params[:id])
if @post.update(post_params)
redirect_to @post
else
render 'edit'
end
end
...
它看起來好像new.html.erb不知道該@post變量,如果它是一個新的崗位。原來new.html.erb是這樣的:
<h1>New Post</h1>
<%= form_for :post, url: posts_path do |f| %>
...
...比使用符號而不是@post等,這是等同於局部形式。
任何想法?
在'PostsController'中顯示'new'動作。 –
ahnnnd ...有答案...新的沒有參考文章... – GLaDOS