Tag: 的Ruby on 轨道

Rails优先于类方法与数据库字段

我有一个Picture类,我想覆盖返回“description”数据库列值取决于一些逻辑。 这在Rails中有效吗? 在返回数据库列值之前,我是否可以始终依赖类来调用类方法? # database columns for Picture class # description => String # parent_id => Integer class Picture < ActiveRecord::Base def description if parent_id.nil? self.description else description = Picture.find(parent_id).description end end end 无法找出在Rails源代码中找到答案的位置,因此任何帮助都将不胜感激。 谢谢! 编辑 我正在尝试返回图片的描述,具体取决于它是否为子图片或父图片(它们可以嵌套)。 这个例子有点人为……我可以通过使用一个与数据库列没有相同名称的方法来轻松避免这种情况……例如 def my_description if parent_id.nil? # return db data since no parent self.description else # return parent’s description […]

Rails“不安全世界可写dir /Library/Ruby/Gems/1.8 in PATH,模式040777

完全是Rails的新手。 昨天我花了几个小时撞到一堵砖墙,试图在我的Mac上正确安装所有东西。 最后,我认为我已经开始工作,所以我开始尝试完成本教程: http : //net.tutsplus.com/tutorials/ruby/the-intro-to-rails-screencast-i-wish-i -had / 一切顺利,直到大约4分钟的标记,当我在命令行输入给定的指令并得到此错误消息。 > rails g /Library/Ruby/Gems/1.8/gems/bundler-1.2.1/lib/bundler/runtime.rb:199: warning: Insecure world writable dir /Library/Ruby/Gems/1.8 in PATH, mode 040777 gem install minitest /Library/Ruby/Gems/1.8/gems/turn-0.9.6/lib/turn/minitest.rb:9:in `require’: no such file to load — minitest/unit (LoadError) from /Library/Ruby/Gems/1.8/gems/turn-0.9.6/lib/turn/minitest.rb:9 from /Library/Ruby/Gems/1.8/gems/turn-0.9.6/lib/turn.rb:13:in `require’ from /Library/Ruby/Gems/1.8/gems/turn-0.9.6/lib/turn.rb:13 from /Library/Ruby/Gems/1.8/gems/bundler-1.2.1/lib/bundler/runtime.rb:68:in `require’ from /Library/Ruby/Gems/1.8/gems/bundler-1.2.1/lib/bundler/runtime.rb:68:in `require’ from /Library/Ruby/Gems/1.8/gems/bundler-1.2.1/lib/bundler/runtime.rb:66:in `each’ from /Library/Ruby/Gems/1.8/gems/bundler-1.2.1/lib/bundler/runtime.rb:66:in `require’ […]

Rails:如何链接到双嵌套资源,使其属于前2级?

我正在尝试制作一个画册网络应用程序。 有3种型号:用户,专辑,图片。 配置/路线 Pholder::Application.routes.draw do resources :users do resources :albums do resources :photos end end 我设法在用户下制作用户和制作专辑,正如您在专辑#show的URL中看到的那样: http://localhost:3000/users/20/albums/94 (没问题) 但是,在那个页面上,我想创建一个链接,在一个专辑下创建照片,这个专辑都在一个用户之下(一个URL看起来像/ users / 20 / albums / 94 / photos / new的东西),然后跟着我的rake routes我有一个new_album_photo路径。 这是我的专辑/节目视图 show.html.erb yes pics no pics 但是当我点击它时,会出现两个问题。 我收到错误: No route matches [GET] “/albums/94/photos/new” URL中没有user_id … http://localhost:3000/albums/94/photos/new 。 我的模型可能是造成这种情况的原因(因为根据我的模型,专辑是由多个用户拥有的吗?我不确定是否应该删除连接表并且只将Album模型作为连接表(可能连接表是罪魁祸首?) 这可能是因为我的模特? 或者我在路线助手中传递了错误的参数? 这是我的模型以防万一。 楷模: class User […]

允许用户和非登录访客在rails中发帖

我想允许用户和非登录访问者创建post,但在编码时遇到麻烦在ruby on rails教程中,我发现: @post =current_user.posts.build(params[:post])但是curren_user将是nil。 另一种方法是@post.user = current_user这似乎没问题,但这条线太难看了吗? 我是否应该创建一个访客用户来将这些post放入其中?

轨。 如何在routes.rb中检测请求是否为xhr

如何检测请求是否在routes.rb中是xhr? 这是我的routes.rb: Rails.application.routes.draw do # only if xhr for “home/index” do that get “home/index” # else if not xhr do get “/*path” => “application#index” end

在索引视图中重复发布post

我试图通过使用acts_as_votable gem的upvotes数来对我的问题进行排序。 一切都很好,除了它显示整套问题n次,其中n是问题的#。 例如。 我发布了3个问题A,B和C,它将显示ABC ABC ABC。 这是我的观看代码: 这是我的控制器代码: def upvote @question = Question.find params[:id] @question.liked_by current_user redirect_to comment_questions_path end def index @comment = Comment.find params[:comment_id] @questions = @comment.questions end Github上 感谢帮助!

Rails范围限制在哪里之前

我想在预先形成where查询之前能够限制我的结果。 我正在尝试做一个实验,我会查看50个响应的随机样本,然后想要计算回答是的用户数。 如果我做response.limit(50).where(:chosen_answer => ‘yes’).count我得到50因为它response.limit(50).where(:chosen_answer => ‘yes’).count形成整个查询的限制。 有没有办法将它分成两个单独的查询?

显示上次评论post的用户(Rails)?

我有一个Post模型: class Post :destroy end belongs_to :post, :counter_cache => true belongs_to :user end 用户模型: class User :destroy has_many :comments, :dependent => :destroy end 和评论模型: class Comment true belongs_to :user end 这是我在index.html.erb视图中显示创建post的用户的方式: <div id="post-” class=”post”> (等等…) 如何显示上次评论post的用户(您可以在StackOverflow和各种论坛中看到)?

我怎样才能在视图中使用redirect_to:controller =>“posts”,:action =>“index”?

我是rails的新手,我已经习惯了 redirect_to:controller =>“posts”,:action =>“index” 在控制器中,现在我可以在我的视图中使用它。 在它显示的视图中使用它时 Home #index中的NoMethodError 显示/Users/#####/RubyProjects/devise_example/app/views/home/index.html.erb第9行引出: 未定义的方法`redirect_to’ 如何从归属索引中获取post索引?

如何在rails中更新没有主键的连接表记录?

我有一个连接表,在其他两个表之间有一个直通关联。 此表具有自己的rails模型表示和一些不是其他表的id的字段。 是否可以从连接表更新记录,还是应该考虑创建唯一的主键? 如果我尝试在记录上“update_attributes”,我会收到以下错误… Unknown column ‘join_table.’ in ‘where clause’: UPDATE `join_table` SET `join_table_attribute` = 1 WHERE `join_table`.“ IS NULL