繁体   English   中英

Rails activerecord-reputation-system form_for不接受表中不存在的参数

[英]Rails activerecord-reputation-system form_for does not accept params that don't exist in table

我正在尝试使用这个gem activerecord-reputation-system https://github.com/twitter/activerecord-reputation-system

但是,这不是我遇到的问题,我遇到了ActiveRecord如何使用form_for接受参数的问题

目前,我将:teacher参数保存在控制器的更新方法中,如下所示:

@course.add_evaluation(key,  params[:teacher],   current_user)

我认为这是我用来提交课程的表格

= form_for @course do |f|
  = f.number_field :teacher
  = f.submit

当您提交表格时,会出现此错误

undefined method `teacher' for #<Course:0x007f00ea2f4030>

我知道它会出现此错误,因为“教师”列在课程中不存在,但是我不希望它在课程中存在,因为它已经存在于信誉表中。

我会以错误的方式处理吗? 如果我不能使用此课程,如何确保将声誉添加到特定课程?

form_for @course

我需要做这样的事情吗? 对我来说,这感觉像是糟糕的编程。

form_tag courses_path + course_name, :method => 'post'

您需要向课程模型添加虚拟属性,例如

attr_accessor :teacher

您可能要先检查此答案

https://stackoverflow.com/a/3136485/522897

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM