Questions tagged «ruby-on-rails»

Ruby on Rails是一个用Ruby编写的开源全栈Web应用程序框架。它遵循流行的MVC框架模型,并以其“配置之上的约定”方法进行应用程序开发而闻名。

9
如何使用Ruby Pry跳出循环?
我在Rails应用程序中使用了Pry。我binding.pry在模型中的一个循环中进行设置,以尝试调试问题。例如: (1..100).each do |i| binding.pry puts i end 当我键入时quit,它将转到下一个迭代,然后再次停止。有没有一种方法可以使您跳出循环,因此我不必键入quit100次? 目前,我知道如何摆脱它的唯一方法是使用CTRL+ C并重新启动应用程序。
212 ruby-on-rails  ruby  loops  exit  pry 


19
Rails模型中不区分大小写的搜索
我的产品型号包含一些物品 Product.first => #<Product id: 10, name: "Blue jeans" > 我现在要从另一个数据集中导入一些产品参数,但是名称的拼写不一致。例如,在另一个数据集中,Blue jeans可以拼写为Blue Jeans。 我想这样做Product.find_or_create_by_name("Blue Jeans"),但这将创建一个新产品,几乎与第一个相同。如果我想查找和比较小写的名字,该怎么办? 性能问题在这里并不是很重要:只有100-200种产品,我想将此作为导入数据的迁移来运行。 有任何想法吗?

9
Rails:response_to块如何工作?
我正在阅读Rails入门指南,并对6.7节感到困惑。生成支架后,我在控制器中找到以下自动生成的块: def index @posts = Post.all respond_to do |format| format.html # index.html.erb format.json { render :json => @posts } end end 我想了解response_to块实际上是如何工作的。格式是什么类型的变量?是格式对象的.html和.json方法吗?该文件对 ActionController::MimeResponds::ClassMethods::respond_to 没有回答问题。




7
Rails-如何在控制器内部使用助手
虽然我意识到您应该在视图内使用一个帮助器,但是在构建JSON对象以返回时,我的控制器中需要一个帮助器。 它有点像这样: def xxxxx @comments = Array.new @c_comments.each do |comment| @comments << { :id => comment.id, :content => html_format(comment.content) } end render :json => @comments end 如何获得我的html_format助手?

15
如何用ActiveRecord / Rails表达NOT IN查询?
只是为了更新此内容,因为似乎有很多人对此进行了介绍,如果您使用的是Rails 4,请查看TrungLê`和VinniVidiVicci的答案。 Topic.where.not(forum_id:@forums.map(&:id)) Topic.where(published:true).where.not(forum_id:@forums.map(&:id)) 我希望有一个不涉及的简单解决方案find_by_sql,如果没有的话,我想那将是可行的。 我发现这篇文章引用了以下内容: Topic.find(:all, :conditions => { :forum_id => @forums.map(&:id) }) 这与 SELECT * FROM topics WHERE forum_id IN (<@forum ids>) 我想知道是否有办法做到NOT IN这一点,例如: SELECT * FROM topics WHERE forum_id NOT IN (<@forum ids>)

24
未加载库:尝试在具有MySQL2的OS X 10.6上运行“ Rails服务器”时,libmysqlclient.16.dylib错误
我已经为此苦苦挣扎了一段时间。 我已经在Snow Leopard机器上安装了Rails 3,gem,mysql。一切顺利,直到我创建了第一个项目并尝试运行 rails server 运行后,我得到: jontybrook$ rails server /Library/Ruby/Gems/1.8/gems/mysql2-0.2.6/lib/mysql2/mysql2.bundle: dlopen(/Library/Ruby/Gems/1.8/gems/mysql2-0.2.6/lib/mysql2/mysql2.bundle, 9): Library not loaded: libmysqlclient.16.dylib (LoadError) Referenced from: /Library/Ruby/Gems/1.8/gems/mysql2-0.2.6/lib/mysql2/mysql2.bundle Reason: image not found - /Library/Ruby/Gems/1.8/gems/mysql2-0.2.6/lib/mysql2/mysql2.bundle from /Library/Ruby/Gems/1.8/gems/mysql2-0.2.6/lib/mysql2.rb:7 from /Library/Ruby/Gems/1.8/gems/bundler-1.0.7/lib/bundler/runtime.rb:64:in `require' from /Library/Ruby/Gems/1.8/gems/bundler-1.0.7/lib/bundler/runtime.rb:64:in `require' from /Library/Ruby/Gems/1.8/gems/bundler-1.0.7/lib/bundler/runtime.rb:62:in `each' from /Library/Ruby/Gems/1.8/gems/bundler-1.0.7/lib/bundler/runtime.rb:62:in `require' from /Library/Ruby/Gems/1.8/gems/bundler-1.0.7/lib/bundler/runtime.rb:51:in `each' from /Library/Ruby/Gems/1.8/gems/bundler-1.0.7/lib/bundler/runtime.rb:51:in `require' from /Library/Ruby/Gems/1.8/gems/bundler-1.0.7/lib/bundler.rb:112:in `require' …

11
Ruby on Rails-从CSV文件导入数据
我想将数据从CSV文件导入到现有的数据库表中。我不想保存CSV文件,只需从中获取数据并将其放入现有表中即可。我正在使用Ruby 1.9.2和Rails 3。 这是我的桌子: create_table "mouldings", :force => true do |t| t.string "suppliers_code" t.datetime "created_at" t.datetime "updated_at" t.string "name" t.integer "supplier_id" t.decimal "length", :precision => 3, :scale => 2 t.decimal "cost", :precision => 4, :scale => 2 t.integer "width" t.integer "depth" end 谢谢,您能给我一些代码来告诉我执行此操作的最佳方法吗?

5
我可以在视图中获取当前控制器的名称吗?
有没有办法从视图中找出当前控制器是什么? 例如,为什么我想知道这一点:如果多个控制器共享同一布局,则我可能会在布局ERB文件中有一个部分,我想根据该控制器突出显示当前页面的菜单项。 也许这是一个不好的方法。如果是这样,更优选的方法是什么? 我很想知道有关以哪种方式获取当前控制器名称的信息。 (显然,我可以@controller_name = 'users'在每个控制器中添加类似的内容;但这似乎是Rails在幕后已经做过的事情。所以我只是想知道是否有内置的方法。)

17
如何在Rails 4中引用CSS中的图像
Heroku上的Rails 4有一个奇怪的问题。编译图像时,会在其中添加哈希值,但是CSS中对这些文件的引用未调整适当的名称。这就是我的意思。我有一个名为logo.png的文件。但是,当它出现在heroku上时,它被视为: /assets/logo-200a00a193ed5e297bb09ddd96afb953.png 但是CSS仍然指出: background-image:url("./logo.png"); 结果:图像不显示。有人碰到这个吗?如何解决?

6
是什么引起此ActiveRecord :: ReadOnlyRecord错误?
在此之前的问题得到了解答。我实际上发现我可以从该查询中删除联接,所以现在可以使用的查询是 start_cards = DeckCard.find :all, :joins => [:card], :conditions => ["deck_cards.deck_id = ? and cards.start_card = ?", @game.deck.id, true] 这似乎起作用。但是,当我尝试将这些DeckCard移动到另一个关联中时,出现ActiveRecord :: ReadOnlyRecord错误。 这是代码 for player in @game.players player.tableau = Tableau.new start_card = start_cards.pop start_card.draw_pile = false player.tableau.deck_cards << start_card # the error occurs on this line end 和相关的模型(Tableau是桌上的玩家卡片) class Player …

5
Rails的find_or_create_by不止一个属性?
活动记录中有一个方便的动态属性,称为find_or_create_by: Model.find_or_create_by_<attribute>(:<attribute> => "") 但是,如果我需要通过多个属性来find_or_create怎么办? 假设我有一个名为GroupMember的模型来处理组与成员之间的M:M关系。我可能有很多实例,其中member_id = 4,但我再也不想拥有一个实例,其中member_id = 4和group_id = 7。 GroupMember.find_or_create(:member_id => 4, :group_id => 7) 我意识到可能有更好的方法来处理此问题,但是我喜欢find_or_create的方便性。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.