我是 Rails 的新手,仍在学习如何使用它,我有一个表单,我只希望用户能够访问主页。当您按下保存按钮时,它会重定向到 View 页面 memos
当我希望它重定向回主页时。
我试过这样的:
def create
@memo = current_user.memos.build(memo_params)
if @memo.save
flash[:success] = "Memo created!"
redirect_to root_url
else
@feed_items = []
flash.keep[:notice] = "no."
render 'new'
end
end
我的表格看起来像这样,虽然我不认为这里有什么。
<%= form_for(@memo) do |f| %>
<div class="field">
<%= f.text_area :info, placeholder: "Title" %>
</div>
<div class="field">
<%= f.text_area :link, placeholder: "Paste link" %>
</div>
<%= f.submit "save", class: "memo-post-button" %>
<% end %>
我不知道是什么没有重定向回主页。我在 memos
页面上收到错误消息,但我希望它们显示在主页上。
问题是线路
render "new"
这就是告诉 Rails 在出现错误时再次显示备忘录表单的原因。
您还需要在 else 下添加 redirect_to
。或者完全将重定向移到 if-else 之外
我是一名优秀的程序员,十分优秀!