小编kib*_*ekr的帖子

Rails图像重新调整视图显示大小?

如何调整现有图像的大小,比如"260x180?"

我目前正在使用Carrierwave和Rmagick将图像上传到我的Amazon S3存储桶,它创建了2个版本的图像:原始版本和拇指版本(70x70).

现在,我知道我可以创建另一个版本,以便创建三个版本,包括260x180,但我觉得这样会过度堵塞存储数据库,我想知道我是否可以在视图级别上执行此操作.

我试过了

<%= image_tag(@syllabus.image_url, :size => "260x180") %> 
Run Code Online (Sandbox Code Playgroud)

但似乎它不起作用 - 图像尺寸不同.

此外,如果图像小于我想要的输出,我是否需要做一些与更大的图像不同的东西?例如,我是否需要切割较大的那些,但是扩展较小的那个,还是会自动缩放到所需的大小?

css ruby-on-rails image-processing

17
推荐指数
2
解决办法
4万
查看次数

Rails:如何使用PG_Search搜索Act_As_Taggable_On生成的标签?(PostgreSQL系统)

我目前使用Act_as_taggable_on标记和pg_search通过我的PostgreSQL数据库我的Rails搜索3应用程序.

如何使用pg_search搜索act_as_taggable_on gem生成的标签?我可以通过说"Post.find(1).tag_list"来查看帖子的标签,但Post表中没有"tag"列,所以当我运行时

 pg_search_scope :search_by_weight, :against => {:tag_list => 'A', :title => 'B', :content => 'C'} #,:using => [:tsearch => {:prefix => true}] #:trigram, :dmetaphone]
Run Code Online (Sandbox Code Playgroud)

它给了我一个错误,因为Post表中没有Post.tag_list列.当你可以通过点连接器(即mission.tag_list)找到值但表中不存在时,它叫什么?我不知道要输入什么.所以基本上,我如何将不存在的列作为参数传入?

另外,你可能已经注意到我已经注释掉了

 :using => [:tsearch => {:prefix => true}] #:trigram, :dmetaphone]
Run Code Online (Sandbox Code Playgroud)

以上.我似乎无法找到如何为Postgresql安装额外的模块.我在哪里输入CREATE EXTENSION?(使用ubuntu 11.10和postgresql 9.1.3 - >和heroku进行制作)

postgresql search ruby-on-rails ruby-on-rails-3 pg-search

9
推荐指数
1
解决办法
1918
查看次数

Rails:模型上的动态列/属性?

我有一个SaaS应用程序,帐户希望在User模型上保存不同类型的信息.因此,例如,一个帐户可能想要保存年龄和生日,但在另一个帐户中,他们将不会使用这些列,并且希望保存关于头发颜色和高度的信息.

这些只是示例,但我如何构建我的模型和数据库,以便它与"自定义,动态"列一起使用,而不会创建太多空属性.

ruby database database-design ruby-on-rails ruby-on-rails-4

8
推荐指数
2
解决办法
7037
查看次数

Fullcalendar v2:如何在导航几周时保持相同的滚动时间?

在Fullcalendar 2上,当我在几周之间导航时,我想在垂直滚动中保持相同的时间范围.例如,在下面的图像中,我最初看的时间是从上午12点到下午3点.但是当我按下一个箭头去下周时,它会在早上8点重置.

我知道我可以用更改默认的开始时间

scrollTime: "08:00:00",
Run Code Online (Sandbox Code Playgroud)

但是我如何才能使垂直时间范围"固定"到我所在的位置?

在此输入图像描述 在此输入图像描述

javascript jquery calendar ruby-on-rails fullcalendar

8
推荐指数
1
解决办法
3596
查看次数

Rails:使用CanCan根据单个模型的实例定义多个角色?

我目前仍然坚持如何根据我们想要的每个条件来分离CanCan的角色.在我们的应用程序中,有许多类别(如数学,英语,历史等),每个类别都有很多课程.

每个用户可以在每个类别上拥有许多不同的角色.例如,John可以成为数学的"读者",这意味着他可以阅读所有数学课程.约翰也可以成为英语的"作家",这意味着他可以阅读所有英语课程,在英语类别中创建课程,只编辑/删除他在英语中创建的课程.

如果这些是约翰所拥有的唯一角色,他将无法在导航栏中看到类别历史记录,并且将无法访问历史记录中的课程.

这些是建立关系的方式:

class User < ActiveRecord::Base
  has_many :roles

  def has_role?(role_sym)
    roles.any? { |r| r.level.underscore.to_sym == role_sym }
  end
end

class Category < ActiveRecord::Base
  has_many :roles
  has_many :courses
end

class Role < ActiveRecord::Base
  belongs_to :user
  belongs_to :category
  attr_accessible :level, :category_id, :user_id
end
Run Code Online (Sandbox Code Playgroud)

在model/ability.rb中我们有

class Ability
include CanCan::Ability

def initialize(user)
  user ||= User.new # guest user (not logged in)  #guest

  if user.has_role? :reader 
     reader(user)
  end

  if user.has_role? :writer
    writer(user)
  end
end

#BE ABLE TO SEE COURSES AND CATS FOR PERMITTED …
Run Code Online (Sandbox Code Playgroud)

ruby authorization ruby-on-rails cancan

7
推荐指数
1
解决办法
3207
查看次数

Rails:Act_as_taggable_on vs. Rocket_tag

看起来Act_as_taggable_on是更成熟的宝石,但Rocket_tag是更新和更热的宝石.

你会推荐哪一个,为什么?

我发现比较Rails标记的大多数帖子都已经过时了,我想知道是否有人知道Rocket_tag(在那里没有太多信息).

tags ruby-on-rails ruby-on-rails-plugins acts-as-taggable-on ruby-on-rails-3

6
推荐指数
1
解决办法
676
查看次数

Rails数据库迁移错误:关系已存在

我尝试迁移数据库时收到错误.我不完全记得我是怎么来到这里的,但我相信我:

  1. 创建了新的分支,搭建了"请求",db:迁移,切换回master,以及合并分支
  2. 创建了另一个分支,做了一些东西,db:迁移,一切都运行正常.
  3. 从heroku postgres数据库中提取,这样我就可以测试一下事情是否适用于实际数据.然后尝试db迁移,但给了我这个错误:

    rake db:migrate
    ==  CreateRequests: migrating =================================================
    -- create_table(:requests)
    NOTICE:  CREATE TABLE will create implicit sequence "requests_id_seq1" for serial column "requests.id"
    rake aborted!
    An error has occurred, this and all later migrations canceled:
    
    PG::Error: ERROR:  relation "requests" already exists
    : CREATE TABLE "requests" ("id" serial primary key, "title" character varying(255), "content" text, "category" character varying(255), "status" character varying(255), "requested_track_id" integer, "created_at" timestamp, "updated_at" timestamp) 
    
    Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

rake ruby-on-rails dbmigrate ruby-on-rails-3

6
推荐指数
1
解决办法
5136
查看次数

Rails:使用CanCan为用户所属的每个组织分配多个角色?

用户可以属于许多组织.我希望用户能够为其所属的每个组织分配不同的角色/授权.

例如,用户"kevin"可能属于组织"stackoverflow"和"facebook".kevin应该能够成为stackoverflow的管理员,以及facebook的常规成员(读取+写入).

但是,CanCan gem似乎只能解决单个组织的用户角色问题.我仍然是初学者,但从我可以收集的内容来看,CanCan gem假设用户角色仅与主应用程序相关联.

我如何能够为不同的组织分配不同的角色,最好使用CanCan gem?

gem authorization ruby-on-rails cancan ruby-on-rails-3

6
推荐指数
1
解决办法
2135
查看次数

在Ruby on Rails 3中使用Twitter Bootstrap图标作为链接的最佳方式?

使用Twitter Bootstrap提供的图标作为Rails 3中的链接的最佳方法是什么?

目前,我正在使用它像粘贴的代码段,但当我使用平板电脑查看网页时,图标不会显示.我确信有更好的方法可以将Twitter Bootstrap Icons用作Rails 3上的链接.

<%= link_to(vote_against_mission_mission_path(:id => mission.id), :method => :post) do %> 

  <i class="icon-chevron-down blank-vote enlarge"></i>

<% end %><br />

<%= link_to(collect_mission_path(controller: "folders", action: "collect", id: mission.id)) do %>

    <i class="icon-heart blank-favorite enlarge" id="actions-centering"></i>
Run Code Online (Sandbox Code Playgroud)

css icons ruby-on-rails ruby-on-rails-3 twitter-bootstrap

5
推荐指数
2
解决办法
6435
查看次数

Rails:总是使用":dependent =>:destroy?"的好习惯.

我最近遇到了一个实例,当时我从数据库中删除了一个用户,但是Posts的索引页面因为编写特定帖子的用户不再存在而破了.

这让我想知道始终使用是否是好习惯:dependent =>:destroy?或者是否有一个不那么复杂的替代解决方案,在删除用户时不会使整个页面中断?我想这更像是一个商业决策,但我认为当用户删除他的帐户时,我不一定要删除所有内容.

我想我可以用类似的东西

<%= link_to post.author.username unless post.author.blank? ...... %>
Run Code Online (Sandbox Code Playgroud)

但是,如果必须在每一行中都包含这一点,那将使一项非常繁琐和混乱的任务成为可能.

关于此事的任何建议/提示?

activerecord ruby-on-rails associations ruby-on-rails-3

4
推荐指数
1
解决办法
562
查看次数

未初始化的常量ImageUploader :: CarrierWaveDirect

我用RailsCasts' Carrierwave 教程让我要上传的图片和显示,而现在我希望得到的图像与直接上传到S3 CarrierWaveDirect,但'未初始化不断ImageUploader :: CarrierWaveDirect’这个错误显示.(我真的不知道图像存储在哪里只有CW,但我在应用程序内部猜测)

在Railscasts的版本之后,

  1. 我安装了gem'carrierwave_direct'和'fog'
  2. 我在config/initializers中创建了一个carrierwave.rb文件(不确定这是正确的位置还是正确的文件名,因为CarrierWave中的自述文件提到了一些关于lib/carrierwave/storage/fog.rb的内容)
  3. 我将image_uploader.rb中的"storage:file"更改为"include CarrierWaveDirect :: Uploader"
  4. 在表单视图中,我将"form_for"更改为"direct_upload_form_for"

我还需要改变其他什么吗?我还没有真正理解什么是"确保您加载你的ORM后加载CarrierWave,否则你需要手动要求相关的扩展名,例如:需要'carrierwave/ORM/ActiveRecord的’"在原来的CW自述意思.

我只是困惑我需要做什么,因为原始的CarrierWave和CW_direct自述文件都提到了S3上传,我陷入了两个方向之间,两者都给...

任何人都可以帮助我理解什么是错的,为什么它说'未初始化的常量ImageUploader :: CarrierWaveDirect'?我也有一个错误说一些关于unauthentic,我假设它与Devise有关 - 是因为图像被附加到由Devise生成的用户,我需要配置一些东西?

ruby-on-rails image-uploading amazon-s3 ruby-on-rails-3 carrierwave

2
推荐指数
1
解决办法
4370
查看次数

如何比较Heroku Production Schema vs Local Development Schema?

我最近在尝试更改架构中的列名时遇到了错误.它在本地工作,但是当我db:在Heroku上迁移时,它给了我一个错误,说该列不存在.

在过去,我一直很难统一我的生产模式和开发模式.这可能是因为我在本地创建了迁移,在本地运行db:migrate,然后由于某种原因在本地删除了迁移,然后推送到heroku,导致迁移在本地运行但不在prod中运行.(我现在知道这是一件非常糟糕的事情,我应该在self.down中输入相反的函数并执行rake db:rollback)

我想知道的是,我如何检查我的本地和prod架构是否不同,是否有一种方法可以改变我的本地表/列以适应制作'?因为它似乎只与生产的东西一起工作,我知道我的本地环境中有无用的表/列.

database postgresql schema ruby-on-rails ruby-on-rails-3

2
推荐指数
1
解决办法
1180
查看次数