为什么允许的变量会抛出未定义的方法错误?

时间:2017-03-10 06:10:30

标签: ruby-on-rails parameters collection-select

从ruby-2.1.2@rails-3.2.18转到ruby-2.4.0@rails-5.0.2。

以下节为#抛出一个未定义的方法`reqdb'
 <%= form_for :page, :url => {:odbinsight => :reqdb} do |f| %>
   <% if @mywkbks != nil %>
   <%= f.collection_select :reqdb, @mywkbks,:name, :title, 
      :include_blank => false, :prompt => "Workbook?" %>    
 <% end %>

我也使用了@reqdb,同样的错误: 日志显示来自控制器的数据:

DEBUG:0:@reqdb = nil |@reqpg = nil|@name = nil|@mywkbks=[#<Page id: 1,
name: "NB001", title: "Something">, #<Page id: 2, name: "dev", title:
"dev prototyp workbook">]

(注意:pglmt和reqdb不是表列名,而是临时变量。):

 def page_params   
   params.require(:page).permit(:name, :title, :body,
     :accs_level, :parent_id, :navlabel, 
     :position, :redirect,
     :action_name,:controller_name, :pglmt, {:reqdb => []})  
 end

我也有这样的节: .... pglmt,reqdb)导致相同的错误。

感谢您的评论。

0 个答案:

没有答案