小编jyo*_*eph的帖子

Rails Paperclip如何删除附件?

我在Rails 3上使用Paperclip(带有Amazon s3).我想删除现有附件而不使用更新操作替换它.

我只发现了这样的一个实例在这里,不能得到那个工作,它只是不会删除,并没有什么在日志中说为什么.我想在表单上做这样的事情:

<%- unless @page.new_record? || !@page.image? -%>
    <%= f.check_box :image_delete, :label => 'Delete Image' %>
<%- end -%>
Run Code Online (Sandbox Code Playgroud)

(页面是模型的名称,image是保存附件的属性名称)

但是,如何检测该复选框,更重要的是,如何删除图像?我感谢任何帮助!

ruby ruby-on-rails paperclip

84
推荐指数
4
解决办法
5万
查看次数

Rails - 仅在生产中显示代码的最佳方式?

我有一些代码,我只想在生产中显示,例如显示disqus注释.这样做的最佳方法是什么?目前我有:

<% if RAILS_ENV.eql?('production') %>
    disqus code here
<% end %>
Run Code Online (Sandbox Code Playgroud)

但我不确定这是最好的方法,还是它?看起来非常冗长,我需要在应用程序的几个不同的地方.

ruby-on-rails

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

为什么Ruby"script/generate"会返回"没有这样的文件或目录"?

我无法使用script/generate.我正在关注基于树的导航教程,该教程说使用script/plugin install git://github.com/rails/acts_as_tree.gitscript/generate nifty_layout.

我一直在:

没有这样的文件或目录 - 脚本/插件

我尝试过这些变化:

script/generate nifty_layout
rails generate nifty_layout
ruby script/generate nifty_layout
ruby generate nifty_layout
Run Code Online (Sandbox Code Playgroud)

他们都告诉我:

-bash:script/generate:没有这样的文件或目录

我错过了什么吗?在这里总红宝石nuby,我似乎无法找到答案.

编辑:Mac OS X 10.6上的rails 3

ruby ruby-on-rails scriptgenerate

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

Rails Paperclip如何使用ImageMagick的过滤器选项?

我最近使用Rails实现了Paperclip,并希望尝试使用ImageMagick中的一些滤镜选项,例如模糊.我无法找到任何如何做到这一点的例子.是否通过了:样式作为另一种选择?

:styles => { :medium => "300x300#", :thumb => "100x100#" }
Run Code Online (Sandbox Code Playgroud)

@plang的答案是正确的,但我想给出模糊的确切解决方案,以防万一有人在寻找并发现这个问题:

:convert_options => { :all => "-blur 0x8" }
// -blur  {radius}x{sigma} 
Run Code Online (Sandbox Code Playgroud)

这改变了这个:
替代文字

对此:
替代文字

ruby-on-rails imagemagick paperclip

20
推荐指数
1
解决办法
5804
查看次数

Rails - text_field中的默认值,但仅适用于new_record?

在内容模型上有一个名为的属性slug.在创建新记录时,我想使用帮助程序来填充此字段,但在现有记录上,我想使用数据库中的值.

目前我有:

<% if @content.new_record? %>
  <%= f.text_field :slug, :value => "#{generate_slug(6)}" %>
<% else %>
  <%= f.text_field :slug %>
<% end %>
Run Code Online (Sandbox Code Playgroud)

但这似乎有点冗长.这是最好的方式,还是别的办法?(Rails newb只是试图在我不确定的问题上找到"Rails方式")


编辑

我应该注意,帮助程序当前位于/app/helpers/application_helper.rb中已移至内容控制器中的私有操作.大卫的回答很有效.

ruby-on-rails erb

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

Javascript - 将参数传递给函数

我总是将参数传递给像这样的函数:

setValue('foo','#bar')

function setValue(val,ele){
    $(ele).val(val);
};
Run Code Online (Sandbox Code Playgroud)

原谅这个愚蠢的例子.但是最近我一直致力于一个有一些功能需要大量参数的项目.所以我开始将参数作为一个对象传递(不确定这是否是正确的方法),如下所示:

setValue({
  val:'foo',
  ele:'#bar'
});
Run Code Online (Sandbox Code Playgroud)

然后在功能中:

function setValue(options){

    var value = options.val;
    var element = options.ele;  

    $(element).val(value);

};
Run Code Online (Sandbox Code Playgroud)

我的问题是,有更好的方法吗?调用这些"选项"是常见的做法(或没关系)吗?您是否通常需要"解包"(缺少更好的术语)选项并在函数内设置本地变量?我一直这样做,以防其中一个没有定义.

我真的希望不要创造坏习惯并编写一堆丑陋的代码.任何帮助都是由我赞赏和+.谢谢.

javascript

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

请推荐一些需要编写文档/测试的rails/ruby​​开源代码

在过去4个月左右的时间里,我一直在铁轨上使用红宝石,我一直非常享受开源的整个概念.我知道它不是ruby/rails独有的,但是来自windows编程,这是我第一次接触它.

我想"回馈"我能做什么,但我不觉得我可以贡献任何有价值的开源项目或我自己的宝石.所以我认为一个好的起点是通过记录或编写一些现有项目的测试.

你能指点我几个可能的选择吗?我更喜欢那些非常活跃但同时又不太复杂的项目(因为我现在对ruby并不是很好).

这可能是一个主观问题,但在这一点上我不知道从哪里开始.因此,即使是主观的答案也会受到高度赞赏.

ruby documentation open-source ruby-on-rails

11
推荐指数
1
解决办法
227
查看次数

Coldfusion - 从列表中删除所有非数字值?

我有一个通过URL传递的ID列表.我想在根据这些ID运行查询之前进行一些清理.我有这个:

<cfset URL.ID = ReReplaceNoCase(URL.ID,"[^0-9]","","ALL")>
Run Code Online (Sandbox Code Playgroud)

但我意识到这也剥离了逗号.有没有一种简单的方法可以从Coldfusion中的列表中删除非数字值?

coldfusion list

10
推荐指数
1
解决办法
1万
查看次数

Mysql - 将所有表和列重命名为小写?

我最近将一个数据库从一个Windows框转移到了一个linux框.这些表在小写和大写名称之间混合.我需要一种方法将所有表和列重命名为小写.那可能吗?

我在这个SO回答中看到了表格的可能性,但是没有找到任何处理列名的东西.

mysql mysql-management

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

Rails 3路由 - 如何使用范围创建管理前缀

我正在使用此Rails指南创建一个范围,以便为某些控制器创建"/ admin"前缀.

所以我有一个名为Pages的控制器,我想通过"/ admin/pages"访问它.

scope "/admin" do
    resources :pages
end
Run Code Online (Sandbox Code Playgroud)

这很好用,但仍然可以通过"/ pages"访问...我如何防止这种情况?(我正在使用Rails 3)

这是我的路线文件:

devise_for :users

scope "/admin" do

    resources :pages

    resources :contents

end

root :to => "index#index"   

match ':controller(/:action(/:id(.:format)))'
Run Code Online (Sandbox Code Playgroud)

routing scope routes ruby-on-rails

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