标签: ruby-on-rails

确定具有特定样式的图像存在和缺席 - Paperclip导轨

有没有办法确定给定图像样式的存在?

例如,要确定图像是否存在,我们可以:

    <% if @user.avatar.exists? %>
      <%= image_tag @user.avatar.url(:large), :id => "cropbox" %>  
Run Code Online (Sandbox Code Playgroud)

但是,我们如何确定图像是否以特定的样式存在,比如说thumb?上述条件仅确定其original样式中图像的存在.

upload ruby-on-rails image paperclip

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

Rails验证非模型

我只是想知道什么是推荐的方法来验证基于模型的表单.我同意通常所有验证都应该在模型中完成,但有些情况下特定的表单可能没有相应的模型.例如,任意搜索表单.

根据我目前的研究,据我所知,有两种主要方法可以做到,

  1. 在控制器中验证.
    • 是否可以在控制器中使用Rails验证?我真的更愿意在我自己的自定义代码上使用它们.

  2. 创建一个任意类,例如.叫做SearchForm并包括ActiveRecord::Validations
    • 该类应该与模型一起存储(即使它不是真的)?
    • 推荐这种方法的帖子表明你必须为ActiveRecord隐藏一堆方法,比如save,save!,update_attribute等.这让我觉得不是很像Rubyesque!

  3. 还有其他建议吗?

validation ruby-on-rails

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

关于Rails中Postgresql的准备声明

现在我正在从SQLite迁移到Postgresql,我遇到了这个问题.以下准备好的语句适用于SQLite:

id = 5
st = ActiveRecord::Base.connection.raw_connection.prepare("DELETE FROM my_table WHERE id = ?")
st.execute(id)
st.close
Run Code Online (Sandbox Code Playgroud)

不幸的是它不能与Postgresql一起使用 - 它在第2行引发了一个例外.我一直在寻找解决方案并遇到了这个:

id = 5
require 'pg'
conn = PG::Connection.open(:dbname => 'my_db_development')
conn.prepare('statement1', 'DELETE FROM my_table WHERE id = $1')
conn.exec_prepared('statement1', [ id ])
Run Code Online (Sandbox Code Playgroud)

这个在第3行失败.当我打印这样的异常时

rescue => ex
Run Code Online (Sandbox Code Playgroud)

ex包含这个

{"connection":{}}
Run Code Online (Sandbox Code Playgroud)

在命令行中执行SQL是有效的.知道我做错了什么吗?

提前致谢!

sql postgresql ruby-on-rails prepared-statement ruby-on-rails-3

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

如何在Ruby on Rails中循环几个月

我需要在Ruby on Rails应用程序中循环几个月.对于每个月,我需要找到该月的第一天和最后一天.然后在单独的查询中使用这些日期来查找在这些日期期间发生的事件并对它们运行计算.

最初,我尝试过类似的东西:

(11.months.ago.to_date.month..Date.today.month).each do |m|
  start_date = '01-#{m}-#{Date.today.year}'.to_date.beginning_of_month
  end_date = '01-#{m}-#{Date.today.year}'.to_date.end_of_month
end
Run Code Online (Sandbox Code Playgroud)

当然,在这种情况下,如果11个月之前涉及回到上一年,那么这一年就不会更新.而且,我认为这种for/each循环不起作用.我也尝试将数字映射到数组并使用相同的方法,但收到错误.

完成这样的事情的最佳方法是什么?

ruby loops ruby-on-rails ruby-on-rails-3

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

是否有一些西班牙语的官方活动记录错误翻译?

我有这个例外:

translation missing: es.activerecord.errors.messages.record_invalid
Run Code Online (Sandbox Code Playgroud)

据我了解:它被提出是因为我没有活跃记录的西班牙语翻译.是否有正式记录的官方翻译文件?

activerecord ruby-on-rails internationalization

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

在视图中使用ERB将类添加到正文 - Rails

我看过这个截屏视频,在视图中添加页面标题,有没有办法可以做同样的但是添加一个类的body标签?

ruby ruby-on-rails erb

10
推荐指数
3
解决办法
9832
查看次数

怎么告诉黄瓜去一些页面?

我正在学习用黄瓜+水豚测试.

在一个视频教程中,我发现这样的东西应该有效:

...
When I go to the homepage
Then /do stuff/
Run Code Online (Sandbox Code Playgroud)

我试图这样做,但黄瓜将"主页"这个词视为正则表达式的一部分.

所以它给了我建议这样的声明的建议

When /^I go to homepage$/ do
   #tasks
end
Run Code Online (Sandbox Code Playgroud)

试过"索引页","项目页面"(现有控制器的名称),"根路径" - 同样的事情.黄瓜实际上并没有去那里 - 只是要求创建一个处理程序.

我从哪里开始?

ruby-on-rails

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

如何在Rails 3应用程序中列出所有已定义的环境?

我想知道是否有办法在Rails应用程序中列出所有已定义的环境.

例如,如果一个应用程序有4个已定义的环境(生产,登台,开发,测试),我想获得以下数组

 ["production", "staging", "development", "test"]
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?谢谢

ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1 ruby-on-rails-3.2

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

Rails如何使用image_tag列出文件夹中的所有图像?

我试图拍摄'app/assets/images/slide'文件夹中的所有图像并将它们与标签放在一起(按顺序).所以,它看起来像这样:

<img src="1.jpg" >
<img src="2.jpg" >
<img src="3.jpg" >
Run Code Online (Sandbox Code Playgroud)

我怎么能得到这个?(我使用Rails 3.2.9)

这是我试过的代码(感谢Khaled).但它输出所有图像路径的纯文本列表.我需要图像来显示:

@images = Dir.glob("app/assets/images/slide/*.jpg")

@images.each do |image|
    image_tag image.gsub("app/assets/images/", "")
end
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails ruby-on-rails-3.2

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

使用Rails进行Postgres全文搜索的单词分隔符

我正在使用pg_search在我的模型中进行一些文本搜索.在其他属性中,我有一个url字段.

Unfortuantelly Postgres似乎没有识别/.作为单词分隔符,因此我无法搜索url.

示例:testhttp://test.com中搜索不会产生任何结果.

有没有办法解决这个问题,可能使用另一个gem或一些内联SQL?

postgresql ruby-on-rails pg-search

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