OC

Knowledge OS
主帖 14 条回复

为什么我的RubyDemo里面没有办法加上tag支持?

tinyfool tinyfool · 2014年06月19日 · 阅读 11 · 无人欣赏。

我按照http://railscasts.com/episodes/382-tagging里面的“From Scratch”方法添加的,但是我发现当我new一个demo的时候,tag数据库不会发生任何变化?这是为什么呢?哪里没有作对呢?

代码详见 https://github.com/tinyfool/DemoCodes

唯一跟382-tagging里面有区别的是,我这里不是把tagarticle绑定,而是跟demo绑定,另外Demo.rb里面,我发现attr_accessible用了就报错,所以,尝试用

def accessible_attributes
    return [:content, :title, :tag_list]
end

代替了。不过有没有accessible_attributes一定不能添加tag

回复

14 条
#4
miclle
2014年06月19日

你 github 上代码没有更新

http://railscasts.com/episodes/382-tagging 这个教程已经过时了吧,还是2012年的,看最新的文档吧 https://github.com/mbleigh/acts-as-taggable-on

Gemfile 中添加

gem 'acts-as-taggable-on'

然后运行

bundle

rails generate acts_as_taggable_on:migration

rake db:migrate

Model:

class Demo < ActiveRecord::Base
  acts_as_taggable # Alias for acts_as_taggable_on :tags
end

Controller:

在 rails 4 中需要这样

class DemosController < ApplicationController

private
    def demo_params
        params.require(:demo).permit(:title, :content, :tag_list)
    end
end
#5
tinyfool
2014年06月19日

4楼 @miclle

sorry,Github更新了

我不想用acts-as-taggable-on,事实上用acts-as-taggable-on的话,我貌似已经ok了,我想加些特定的东西在tag里面,所以,我是按照这篇后面“From Scratch”方法做的。

#6
miclle
2014年06月19日

在 rails 4 里已经不用 attr_accessible 了都放到 Controller permit 里面

#7
tinyfool
2014年06月19日

6楼 @miclle ok, :tag_list 改到 permit里面了,但是现在出现了报错

undefined method `fitst_or_create!' for #<ActiveRecord::Relation []>
#11
nsm1168
2014年06月19日

最近闲暇的时候也看看Ruby , 据说一门优雅的语言。

#12
lgn21st
2014年06月19日

:D 看到问题后,发现已经解决了。

#13
lgn21st
2014年06月19日

9楼 @tinyfool 老大觉得 Rails 的 ORM 用起来感觉怎么样?以及整个框架用起来感觉如何?

#14
tinyfool
2014年06月19日

13楼 @lgn21st 还不是特别熟悉,感觉方便这点很赞,然后很规范,所以估计用优化工具来缓存之类的效果应该也还不错

本帖有14个回复,因为您没有注册或者登录本站,所以只能看到本帖的10条回复。如果想看到全部回复,请注册或者登录本站。
登录 或者 注册
顶楼 / 底楼 / 首页