Ruby on rails RubyonRails-如何让未登录用户在我的帖子上留言?

Ruby on rails RubyonRails-如何让未登录用户在我的帖子上留言?,ruby-on-rails,ruby-on-rails-5.1,Ruby On Rails,Ruby On Rails 5.1,我有post模型 在我的post_控制器上 before_action :authenticate_user!, except: [:show] 所以来宾(非登录用户)可以看到我的帖子 我的问题是 如何让来宾(未登录用户)在我的帖子中留言 例如: 假设消息模型具有以下参数: name:string phone:string email:String text:text 在消息视图中,我想要这样的内容: <div> <%= name %> <%= phone

我有post模型

在我的post_控制器上

  before_action :authenticate_user!, except: [:show]
所以来宾(非登录用户)可以看到我的帖子

我的问题是

如何让来宾(未登录用户)在我的帖子中留言

例如: 假设消息模型具有以下参数:

name:string
phone:string
email:String
text:text
在消息视图中,我想要这样的内容:

<div>
<%= name %>
<%= phone %>
<%= email %>
<%= text %>
</div>


有什么建议吗?谢谢你的帮助

1-如果消息用于post,则消息模型应具有
post\u id

messages.rb

belongs_to :post
2-在
帖子#显示
操作定义新的
消息

@message = Message.new
3-在你的每个帖子下面都应该有一个信息表格

<%= form_for @message do |f|%>
  <%= f.text_field: name %>
  <%= f.email_field: email %>
  <%= f.text_field: phone %>
  <%= f.text_area: text %>
  <%= f.hidden_field: post_id, value: @post.id %>
  <%= f.submit: "Submit Message"%>
<% end %>

您面临的问题是什么,可以通过表单让用户提交他们的消息。?你能解释你的疑问吗?我自己尝试过,但当我点击提交按钮创建消息时,它显示:new bcoz it Failed你是否尝试下面给出的解决方案?保存后只需使用调试器,并检查为什么要回滚以创建消息。?还没有。我还在外面。我稍后再试。Thx为您提供建议,Sir请务必让我知道任何进一步的指导。当用户登录时,消息表单可能需要不同的处理,但嘿,编写完整的应用程序不是我们的工作:)@SergioTulentsev Yep agree:)
before_action :authetnicate_user!, only: []

def create
  message = Message.new(message_params)
  if message.save
    #
  else
   #
  end
end
 private
 def message_params
  params.require(:message).permit(:name,:email,:phone,:text,:post_id,)
 end