act_as_taggable_on では、タグの最大数を設定するにはどうすればよいですか?
1 に答える
4
Post モデルで次の検証を使用します
class Post < ActiveRecord::Base
...
acts_as_taggable_on :categories
...
validates_presence_of :category_list,
:message => "Choose at least 1 category"
validates_size_of :category_list,
:maximum => 4,
:message => '4 categories maximum'
...
end
Ryan Bate のチュートリアルに見られるように:
class PostssController < ApplicationController
..
def update
@post = current_user.posts.find(params[:id])
params[:post][:category_list] ||= []
end
..
end
カテゴリは部分的に選択します:
<% Category.roots.each do |c| %>
<ul>
<li>
<%= check_box_tag "post[category_list][]",
c.id, @post.category_list.include?(c.id.to_s)%>
<%= c.name %>
</li>
</ul>
<% end %>
ところで、カテゴリ ID の配列として catgeory_list を使用するため、投稿の category_list は次のようになります。
> p = Post.first
...
> p.category_list
["10", "7", "8"]
> p.category_list.map { |c| Category.find(c.to_i).name }
["Cats","Dogs","Plants"]
それが役に立てば幸い
于 2011-04-26T17:13:54.700 に答える