我有一个事件控制器,我从另一个控制器(注册)(从注册控制器)重定向到它:
format.html { redirect_to new_event_path(:event_count => 15) }
(Event controller)
def new
logger.info params
@event = Event.new(:event_count => params[:event_count])
......
def create
@event = Event.new(params[:event])
and inside views/events/new.html.erb
<%= f.hidden_field :event_count %>
但是,当我尝试运行它时,我收到以下消息:
unknown attribute: event_count
请注意,当我从新签出日志文件时,我可以看到参数散列在其中 {"event_count":"15"}
请注意,event_count 不在我的事件表中。有什么建议么?
更多信息
我的 Event 模型中已经有 event_count 作为虚拟属性:
attr_accessible :event_count
这是一个仅在运行时使用的值,从不存储在 DB 中。最初我使用会话变量传递这个值,但我想知道是否有一种更清洁、更安全的方法来完成这项工作。
什么有效:
我从 Even 模型中删除了 attr_accessor :event_count 。
在事件控制器中:
def new
@event_count = params[:event_count]
@event = Event.new
def create
.....
@event_count = params[:event][:event_count]
在我的意见/event.html.erb
<%= f.hidden.field :event_count, :value => @event_count %>