1

タグ付けを使用してブログを設定しようとしていますが、保存しようとすると問題が発生します。

私は3つのモデルを手に入れました

ブログモデル

has_many :blog_tags
has_many :tags, :through => :blog_tags

blog_tagモデル

belongs_to :blog
belongs_to :tag

タグモデル

[nothing]

ブログフォームを投稿すると、blog_tagsテーブルに作成したいタグのコンマ区切りリストを含む入力フィールドが表示されます。

私はいくつかの異なるものを試してきましたが、これで終わりました

@blog_tags = params[:blog][:tags].split(",")

@blog_tags.each do |tag|
  @tag = Tag.find_by_tag(tag)
  @blog.tags.push(@tag)
end

親が作成されていないと文句を言った以外は機能しているようで、2回目の試行で、文字列「string1」を分割しようとしてエラーが発生しました。これは、カンマがないことが原因だと思います。

私は本当にあなたの一人がここで私を助けてくれることを願っています、または少なくとも私を正しい方向に向けてください:-)

ありがとう!

4

2 に答える 2

1

私は宝石に行きます。たとえば、https://github.com/mbleigh/acts-as-taggable-onを試してください。

于 2011-09-28T21:59:43.997 に答える
0

params[:blog][:tags]カンマがない場合を処理するだけでよいと思います。この場合、文字列全体が1つのタグなので、追加するだけです。

また、「ruby、、rails」などのケースに対処する必要がある場合もあります。つまり、タグが空でないことを確認します。

于 2011-09-28T23:48:20.793 に答える