@xiaoniuniu 你好 我当时是因为之前 rake db:reset 了一下导致数据库中的 user 全没了,所以导致
@comment.user = current_user #当前用户
中的 current_user 的找不到,后来我重新重启服务,添加数据就行了。但是你要注意 8 楼的问题,验证 comment 的 user 不能为空,
validates :user, :presence => true
@Macrow 额,这个我明白,刚刚也试过了,先创建 post,在重新去添加图片。但是这样实现不论是创建带图片的文章还是评论有点麻烦(其实我对这个功能不是一定要有,只是测一下)。前辈不好意思,刚刚没仔细看 6 楼的回复,浪费你宝贵时间,谢谢啦
@Macrow 嗯嗯,不好意思啊,我查了一下,是 post.id 为空,不过我也有个疑问 我在 controller 中 action new
def new
@post = Post.new #为<Post id: nil, title: nil, body: nil, created_at: nil, updated_at: nil>,id为空,为了@post.id不为空的话,new的时候就给post.id赋值吗?
end
@Macrow 恩 没写入
irb(main):002:0> Kindeditor::Asset.all.map(&:owner_id)
Kindeditor::Asset Load (0.5ms) SELECT "kindeditor_assets".* FROM "kindeditor_assets"
=> [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
@Macrow 下面的是和我的 post 有关的 model
class Post < ActiveRecord::Base
attr_accessible :body, :title, :tag_list
has_many_kindeditor_assets :attachments, :dependent => :destroy
acts_as_taggable
acts_as_commentable
default_scope :order => 'id DESC'
validates :title, :presence => true
validates :body, :presence => true
end
form
<div class="field" >
<%= f.label :body, "正文" %>
<%= f.kindeditor :body, :simple_mode => true, :owner_id => @post.id, :width => 700, :height => 400 %><br>
</div>
show
<%= safe @post.body %> #safe是一个html_safe的方法
下面是删除 post 时与 kindeditor 有关的
Started DELETE "/posts/14" for 127.0.0.1 at 2013-08-12 22:07:23 +0800
Processing by PostsController#destroy as HTML
Parameters: {"authenticity_token"=>"zjuURXhL98MnxDJIEEUcPNsF0L7ZeqRKeKhW1/uRW7w=", "id"=>"14"}
User Load (0.3ms) SELECT "users".* FROM "users" WHERE "users"."id" = 1 LIMIT 1
Post Load (0.2ms) SELECT "posts".* FROM "posts" WHERE "posts"."id" = ? ORDER BY id DESC LIMIT 1 [["id", "14"]]
(0.1ms) begin transaction
Kindeditor::Asset Load (0.2ms) SELECT "kindeditor_assets".* FROM "kindeditor_assets" WHERE "kindeditor_assets"."owner_id" = 14
ActsAsTaggableOn::Tagging Load (0.2ms) SELECT "taggings".* FROM "taggings" WHERE "taggings"."taggable_id" = 14 AND "taggings"."taggable_type" = 'Post'
SQL (0.3ms) DELETE FROM "taggings" WHERE "taggings"."id" = ? [["id", 15]]
ActsAsTaggableOn::Tagging Load (0.2ms) SELECT "taggings".* FROM "taggings" WHERE "taggings"."taggable_id" = 14 AND "taggings"."taggable_type" = 'Post' AND (taggings.context = ('tags'))
Comment Load (0.6ms) SELECT "comments".* FROM "comments" WHERE "comments"."commentable_id" = 14 AND "comments"."commentable_type" = 'Post' ORDER BY created_at DESC
SQL (0.4ms) DELETE FROM "posts" WHERE "posts"."id" = ? [["id", 14]]
(179.7ms) commit transaction
Redirected to http://localhost:3000/posts
Completed 302 Found in 257ms (ActiveRecord: 182.0ms)
删除 post 后对应的图片还在 public 下
@Macrow 嗯嗯 按照 README 来的
<%= f.kindeditor :comment, :simple_mode => true, :owner_id => @comment.id, :width => 700, :height => 200 %>
:owner_id 的参数位置应该无关吧?
@alsotang 后来确实没去。他问我对.net 感兴趣不,我直接说对 win 上的不是很感兴趣,然后就没然后了,呵呵
上个月老师推荐我去一家硬件公司实习,一个经理临时面的我。问我现在主要搞些什么,我说 ruby,他一脸疑惑,我说 ruby on rails,他尴尬的说没听说过......汗
扁平化......
http://apidock.com/ruby 这个行不行,直接在右上角搜
刚开始我感觉是在讲鬼故事
@guyanbiao @xmonkeycn ,谢谢二位,终于消除了心中的疑惑。我刚刚看了下 rubychina 的源码,他是使用了 setting
def admin?
Setting.admin_emails.include?(self.email)
end
config/config.yml
defaults: &defaults
app_name: "Ruby China"
foot_html: "© Ruby China."
domain: "127.0.0.1:3000"
admin_emails:
- "[email protected]"
@ruby_sky 嗯,我也喜欢一个人骑行,如果是中东部的线路的话,会选择一个人。318 的话,不管是体力上还是心理上都是蛮大的挑战,我应该还是组团走。请问你最后去成了没?
@ruby_sky 嗯嗯,谢谢提醒。曾经也走过一次连续 11 天的长途,从冒出念头到出发,只准备了 2 天,那种说走就走的感觉确实好,但是由于准备不足,考虑太少,路上还是有些小麻烦。这次走 318,说真的顾虑还是有的。有时我也怕拖着拖着就没结果了,呵呵......
长途骑行
@yorzi 换成 pg 现在可以了,非常感谢。刚刚看了前辈的链接了,记得 3 月份的时候我用 mysql 可以,那时只知道 sqlite 不行。
@yorzi 本地可以,我以前用 mysql 可以运行的,那我用 pg 试试 谢谢
插个话...有嘉兴的前辈不
@libuchao 非常感谢提醒 前几天我在设置全局的 a 标签 也一直失败 原来我用了 scaffold 生成 post 然后生成 scaffolds.css 这个文件的原因,一直没留意到。thanks
@luikore @libuchao 我的方法也是在 config/application.rb 中添加了
config.action_view.field_error_proc = Proc.new {
|html_tag, instance| "#{html_tag}".html_safe
}
但是这样也有一个问题,红块可以去掉,但是出现错误是对应的边框不会高亮显示(如上图的下面那个图)。在《ruby on rails tutorial》这本书中就是用我帖子里的方法实现上图的下面那个图的样式的,但是当我准备自己写个小项目练习一下时,就出现了上图中上面那个图的样式,具体原因还没找到,下次准备用 simple_form+bootstrap 试试。 谢谢
@amcsc 嗯嗯,我考虑的不全,现在就改,谢谢
@loveky 非常感谢,谢谢你提示,我找到原因了,原来我的数据表被我“搞坏”了,导致 current_user 为空了
@loveky 原来都没写进数据库,我用 devise 注册用户登入用户都可以,acts_as_commentable 也可以写评论,但是我到 rails c 中看了下数据表发现都没写进去,这是什么原因
@loveky 是否我的 model 有问题啊?但也一直没找到问题
@loveky 我登录了,如果用<%= comment.user %>也可以显示对应的 user 的对象如#User:0xb59971e4