Ruby on rails RubyonRails-如何让未登录用户在我的帖子上留言?
我有post模型 在我的post_控制器上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
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