我的Rails 3.1网站上有一个静态页面。我有一个只有电子邮件属性的访客模型(电子邮件:字符串)。我想收集访问我网站的电子邮件。他们将在文本字段中键入他们的电子邮件,然后单击“提交”,然后重定向到感谢页面。
我可以用资源做这种事情,但我不需要那么多。只是提交并感谢你。
我该怎么做?请提供视图和控制器的代码。
谢谢。
答案 0 :(得分:0)
使用资源有什么问题?您的访客是一种资源,为什么不把它当成一个?
在您的路线中:
resource :visitors, :only => :create # POST to visitor_path to create a visitor
root_to ...
在VisitorController中
def create
@visitor = Visitor.new(params[:visitor])
if @visitor.save
render "pages/comingsoon" # or redirect, or render leave empty to render views/visitors/create.html.erb
else
# ...
end
end
现在您可以拥有包含内容
的文件views / pages / comingsoon.html.erb<h1>Thank you</h1>
<p>Stored your email address <%= @visitor.email %></p>
为了完整起见,新访客的表格:
<%= form_for Visitor.new do |f| => ...