我一直在尝试使用以下逻辑在我的应用中实现简单的预览功能:
用户转到“新帖”,该应用会显示一个包含2个字段,标题和说明以及“预览”按钮的表单。
填写完成后,用户点击“预览”按钮,应用会在帖子中显示第二个视图,因为它将会发布并显示2个按钮:“发布!” (保存帖子)和“进行更改”(返回填写的表格进行编辑)。
除了保存操作外,一切都按预期工作。当我点击“发布它!”按钮,它重定向到root_path但不保存@post。
在尝试实现此功能之前,保存功能完美无缺,因此我放弃了数据库或其他任何问题。
这是控制器方法:
def create
@post = Post.new(params.require(:post).permit(:title, :description))
if params[:previewButt] == "Preview"
render :create
elsif params[:createButt] == "Post it!"
@post.save
redirect_to root_path
elsif params[:backButt] == "Make changes"
render :new
end
end
这些是我的表格和按钮:
在“新视图”中:
<%= simple_form_for @post do |form| %>
<%= form.input :title, label: "Post Title" %>
<%= form.input :description, label: "Post Description" %>
<%= form.button :submit , name: "previewButt", value: "Preview" %>
<% end %>
在“创建”视图中:
<%= simple_form_for @post do |form| %>
<%= form.hidden_field :title, {:value => @post.title} %>
<%= form.hidden_field :description, {:value => @post.description} %>
<%= form.button :submit , name: "createButt", value: "Post it!" %>
<%= form.button :submit , name: "backButt", value: "Make changes" %>
<% end %>
我真的被困在这上面了。我对有关实现预览功能的其他方法的建议持开放态度。
非常感谢你的时间。