2016-02-15 54 views
0

我試圖用這個寶石ActiveRecord的聲譽系統https://github.com/twitter/activerecord-reputation-systemRails的ActiveRecord的聲譽系統的form_for不接受不表

但是這不是我遇到了問題存在的參數,可以我正在運行到一個問題的ActiveRecord如何使用接受PARAMS工作的form_for

目前我已在:老師PARAM被保存在控制器這樣的更新方法:

@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' 

回答

1

你需要一個虛擬的屬性添加到您的課程模式像

attr_accessor :teacher 

你可能要檢查這個答案第一

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

+0

這完美地工作,我忘了attr_accessor , 感謝您的提醒 –