微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

重新加载 rvm 3.0.0 重新安装包,现在在操作视图中获取未定义的方法:模板

如何解决重新加载 rvm 3.0.0 重新安装包,现在在操作视图中获取未定义的方法:模板

背景:我正在尝试生成一个用户引导列表,其中允许用户进行两个选择(商店和买家)。保存列表的表没有购买者的名字,但有指向商店的 store_id。买家的名字是从第三张表中得出的。

在我不得不从 rvm 卸载 rails-3.0.0 之前,这段代码运行良好。重新安装并执行 bundle install 后,这个 simple_form form-inline 代码开始抛出以下日志中显示错误

在 list.html.erb 文件中工作的代码

<%= simple_form_for :search,url: list_path,method: "GET",html: { class: 'form-inline' } do |f| %><br>
    <%= f.input :id,collection: @stores,label: false  %></td><br>
    <td><br>
    <%= f.collection_select :buyer,@buyers,:buyer,include_blank: true %><br>
    </td><td>
     <%= f.submit "Submit",class: "btn btn-primary" %><br>
<% end %>
</td>
</tr></table>

数组@store 和@buyer 是在 def list 节的 shop 控制器中生成的。此处显示

  def list
      @search = params["search"]
      logger.debug "\n\n#{@search}.inspect\n\n"
      @lists = Shop.get_my_list(params["search"])
      
          @elists = Shop.find_by_sql("select distinct S.vendor,S.item,S.cnt,S.coupon from SHOPS AS S left join MUPCs as M on m.item = s.item WHERE M.ID IS NULL")

          @buyers = Shop.find_by_sql("select distinct buyer,buyer from mupcs")

  end

日志生成

Started GET "/list?search%5Bid%5D=1&search%5Bbuyer%5D=&commit=Submit" for 10.0.0.3 at 2021-01-15 21:24:15 -0800<br>
Processing by ShopsController#list as HTML
  Parameters: {"search"=>{"id"=>"1","buyer"=>""},"commit"=>"Submit"}<br>
  Shop Load (0.2ms)  select id,name from Stores<br>
  ↳ app/controllers/shops_controller.rb:7:in `get_stores'
  Shop Load (0.2ms)  select distinct location from Mupcs<br>
  ↳ app/controllers/shops_controller.rb:8:in `get_stores'


{"id"=>"1","buyer"=>""}.inspect




inside get_my_list |1|


  Shop Load (0.2ms)  <br>select distinct m.buyer,m.location,s.vendor,s.item,s.cnt,s.coupon,s.store_id from shops as s,mupcs as m where m.item = s.item and s.store_id = 1 order by m.buyer,m.location<br>
  ↳ app/models/shop.rb:54:in `get_my_list'
  Shop Load (0.2ms)  <br>select distinct S.vendor,S.coupon from SHOPS AS S left join MUPCs as M on m.item = s.item WHERE M.ID IS NULL<br>
  ↳ app/controllers/shops_controller.rb:36:in `list'
  Shop Load (0.2ms)  <br>select distinct buyer,buyer from mupcs<br>
  ↳ app/controllers/shops_controller.rb:38:in `list'<br>
  Rendering layout layouts/application.html.erb<br>
  Rendering shops/list.html.erb within layouts/application<br>
  Rendered shops/list.html.erb within layouts/application (Duration: 5.2ms | Allocations: 4177)<br>
  Rendered layout<br> layouts/application.html.erb (Duration: 5.4ms | Allocations: 4246)<br>
Completed 500 Internal Server Error in 12ms (ActiveRecord: 0.9ms | Allocations: 7511)



ActionView::Template::Error (undefined method `id' for #<ActionController::Parameters {"id"=>"1","buyer"=>""} permitted: false>):
     7: <tr>
     8: <td valign="top">
     9: <%= simple_form_for :search,html: { class: 'form-inline' } do |f| %>
    10:     <%= f.input :id,label: false  %></td>
    11:     <td>
    12:     <%= f.collection_select :buyer,include_blank: true %>
    13:     </td><td>

解决方法

找到了解决办法。我不得不创建一个新的私人白名单并将内联名称从“搜索”更改为“genlist”,但现在它似乎可以工作了。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。