小编Jac*_*uul的帖子

Rails 4 collection_check_boxes,带有has_many through

我正在尝试将类别与产品相关联.到目前为止我实现它的方式是

Class Product
    has_many :categorizations
    has_many :categories, through: :categorizations
Run Code Online (Sandbox Code Playgroud)

.

Class Categorization
    belongs_to :product
    belongs_to :category
Run Code Online (Sandbox Code Playgroud)

.

Class Category
    has_many :categorizations
    has_many :products, through: :categorizations
Run Code Online (Sandbox Code Playgroud)

在我的产品/ _form.html.erb中

<div class="field">
<%= f.label :category_id %><br />
<%= collection_check_boxes(:product, :category_id, Category.all, :id, :name) %>
</div>
Run Code Online (Sandbox Code Playgroud)

我不确定如何正确地做到这一点.

解决方案
变化::category_id:category_ids,并设置强PARAMS

def product_params
  params.require(:product).permit(:title, :description, :price, :category_ids => [])
end
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails checkboxlist has-many-through categorization

5
推荐指数
1
解决办法
1708
查看次数

分页问题(will_paginate)

我正试图在我的rails应用程序中使用will_paginate进行分页.

在我的控制器中我有

def index
    params[:per_page] ||= 25
    params[:page] ||= 1
    @links = Link.order('created_at DESC').page(params[:page]).per_page(params[:per_page])
end
Run Code Online (Sandbox Code Playgroud)

在我看来,我有

 <ul>
  <% @links.each do |entry| %>
  <li><%= link_to entry.title, entry.url %></li>
  <% end %> 
<ul>
<%= will_paginate @links %>
Run Code Online (Sandbox Code Playgroud)

我收到了错误

comparison of Fixnum with String failed

Extracted source (around line #8):

5: </h2>
6: 
7: <ul>
8:   <% @links.each do |entry| %>
9:   <li><%= link_to entry.title, entry.url %></li>
10:   <% end %> 
11: <ul>
Run Code Online (Sandbox Code Playgroud)

我不知道为什么.我试过重启服务器.我错过了一些明显的东西吗

提前致谢.

ruby pagination ruby-on-rails

1
推荐指数
1
解决办法
672
查看次数