【发布时间】:2015-05-15 10:43:51
【问题描述】:
您好,我必须在我的控制器和视图中调用模型方法。所以为此我做了这个:
category.rb
def self.category_list
category = self.all.collect { |m| [m.name, m.id] }
return category
end
products_controller.rb
def new
@product = Product.new
@category = Category.category_list
end
在 products/new.html.erb 中
<%= form_for @product, action: "create", :html => {:class => "form-group"} do |f| %>
<div class="fields">
<%= f.label :model_name %>
<%= f.text_field :model_name, :class => "form-control" %>
</div>
<div class="fields">
<%= f.label :model_number %>
<%= f.text_field :model_number, :class => "form-control" %>
</div>
<div class="fields">
<%= f.label :model_number %>
<%= f.select(:category_id, @category, :prompt => 'Select') %>
</div>
</br>
<div class="actions">
<%= f.submit "Submit", :class => "btn btn-success" %>
</div>
<% end %>
我给这个它给了我错误ActiveRecord::DangerousAttributeError in ProductsController#new
请指导如何解决这个问题。提前感谢您的帮助:)
【问题讨论】:
-
你有什么问题?
-
category_list方法应该是简单的 oneliner:pluck(:name, :id)。在 Ruby 中,最后一行是方法返回的内容,您无需在此处指定return -
你的
productscontroller#new没有定义@inventory它在哪里初始化? -
抱歉打错了
-
你正在使用
rails 3?
标签: ruby-on-rails ruby ruby-on-rails-4 associations