我完成了 Michael Hartl 的 Ruby on Rails 教程。现在我正在研究建议的练习。他构建的应用程序基本上是 Twitter 的克隆,人们可以在其中发布 Microposts,它们会出现在您的提要中http://ruby.railstutorial.org/chapters/user-microposts#fig-micropost_created
主页home.html.erb
来自 StaticPagesController,并具有一个 Micropost 文本框,可以在其中发布 Microposts。文本框的代码如下所示:
<%= form_for(@micropost) do |f| %>
<%= render 'shared/error_messages', object: f.object %>
<div class="field">
<%= f.text_area :content, placeholder: "Compose new micropost..." %>
</div>
<%= f.submit "Post", class: "btn btn-large btn-primary" %>
<% end %>
该@micropost
变量在 StaticPagesController 中初始化,如下所示:
class StaticPagesController < ApplicationController
def home
if signed_in?
@micropost = current_user.microposts.build
end
end
现在在 MicropostsController 里面有一个像这样的创建动作:
def create
@micropost = current_user.microposts.build(params[:micropost])
if @micropost.save
flash[:success] = "Micropost created!"
redirect_to root_url
else
@feed_items = []
render 'static_pages/home'
end
end
我的问题是第一个 @micropost 变量与第二个变量相比的目的是什么?
谢谢,迈克