我正在开发一个项目,并试图实施一个反馈系统。有三个按钮,正面,中立和负面,当用户点击一个按钮时,会询问他们是否想要提交更多反馈并被带到新的反馈表单。然而,相反,我想要的是,当按下按钮时,记录将与他们按下的按钮设置的模型的评分字段一起保存。按下按钮时创建一个模型记录
然后,当用户提供更多的反馈时,他们会被带到编辑页面以获得反馈。我真的不知道如何去做这件事,我需要按钮上的一些JavaScript?或者轨道有一个方法可以做到这一点?
谢谢
我正在开发一个项目,并试图实施一个反馈系统。有三个按钮,正面,中立和负面,当用户点击一个按钮时,会询问他们是否想要提交更多反馈并被带到新的反馈表单。然而,相反,我想要的是,当按下按钮时,记录将与他们按下的按钮设置的模型的评分字段一起保存。按下按钮时创建一个模型记录
然后,当用户提供更多的反馈时,他们会被带到编辑页面以获得反馈。我真的不知道如何去做这件事,我需要按钮上的一些JavaScript?或者轨道有一个方法可以做到这一点?
谢谢
为每个带隐藏字段的按钮创建一个表单。将隐藏字段值设置为正值,中性或负值。您尝试在此处使用枚举。
<% form_for :feedback, url: feedback_path do |f| %>
<%= f.hidden_field :sentiment, value: 'positive' %></td>
<%= submit_tag "Positive" %>
<% end %>
<% form_for :feedback, url: feedback_path do |f| %>
<%= f.hidden_field :sentiment, value: 'neutral' %></td>
<%= submit_tag "Neutral" %>
<% end %>
<% form_for :feedback, url: feedback_path do |f| %>
<%= f.hidden_field :sentiment, value: 'negative' %></td>
<%= submit_tag "Negative" %>
<% end %>
你可以把上面的代码放在一个简单的循环中来干掉它。
嗨,感谢您的帮助,虽然当我尝试这个时,我得到一个错误说: 没有路由匹配{:action =>“update”,:controller =>“feedbacks”}}缺少必需的键:[:id] 我认为这意味着它试图调用update方法而不是create方法? – user2320239
以上只是你如何做到这一点的一个例子。有关详细信息,请参阅Rails文档。这应该有所帮助:http://guides.rubyonrails.org/form_helpers.html#binding-a-form-to-an-object –
你到目前为止尝试过什么? – spickermann
我并不确定从哪里开始,就像我现在所说的那样,模型记录是通过转到新窗体创建和保存的。 – user2320239