Tag: ruby on rails 3

我应该帮帮忙吗? 或者这会变慢吗?

在这种情况下哪种模式会更快? 显然,带帮手的Pattern1看起来更复杂,看起来很干净。 但是每次调用user_link方法时它都会发送SQL。 在一页加载时,它最多可调用100次。 哪种方式对基准性能更好? 样式1。 有了帮手 application_helper def user_link(username) link_to User.find_by_username(username).user_profile.nickname, show_user_path(username) end 视图 模式2。 没有帮手。 只是查看

样式表错误 – Ruby on Rails新手

我目前正在通过“使用Rails进行敏捷Web开发”来学习ruby,我遇到了一个我无法修复的错误。 到目前为止,我只做了一些基本的操作。 我创建了一个脚手架,其命令类似于: rails generate scaffold Product title:string description:text image_url:string price:decimal 然后我倾斜说: rake db:migrate 运行之后,我进入了db / seeds.db文件并使用以下数据填充了这个新创建的表: Product.delete_all Product.create(:title => ‘Web Design for Developers’, :description => %{ Web Design for Developers will show you how to make your web-based application look professionally designed. We’ll help you learn how to pick the right colors and fonts, […]

link_to调用的函数即使在硬编码时也不起作用

出于某种原因,在我的函数make_feed_preference , @user.feed_preference永远不会改变,即使我将其硬编码为@user.feed_preference = “foobar”但看起来redirect_to ‘posts’工作正常。 错误是即使在按下link_to之后, feed_preference总是nil ,因此( if feed_preference == nil )始终为true 。 我仍然不知道是什么导致了这一点。 make_feed_preference存储在make_feed_preference中。 它的作用是显示新闻源,但是根据偏好值排序(例如,“时间”,“trending_value”,“粉丝”) :make_feed_preference, :id => current_user.id, :preference => “trending value”, :controller => “users”}, :method => :post %> def make_feed_preference @user = User.find(params[:id]) @user.feed_preference = params[:preference] @user.save redirect_to ‘/posts’ end 注意:我通过将新类附加到用户来修复它。

使用“omniauth-oauth2”捆绑安装错误

运行bundle install我收到以下错误(完整跟踪: http : //pastebin.com/Vp4nHc2p ): Bundler could not find compatible versions for gem “omniauth-oauth2”: In Gemfile: omniauth-facebook (~> 1.2.0) ruby depends on omniauth-oauth2 (~> 1.0.0) ruby omniauth-github (~> 1.0.1) ruby depends on omniauth-oauth2 (1.1.1) 要查看我的Gemfile: http ://pastebin.com/vMcHDHa8 知道怎么解决吗?

Twitter引导Rails 3中的语言环境选择器下拉列表

我在一般的Bootstrapped Rails 3应用程序中有一个非Bootstrapped语言环境选择器,我想要Bootstrap-ify。 关于如何在下拉菜单中的表单中创建(我假设)无序列表,我有点难过。 TL; DR转到此问题底部的编辑3以获取已完成的解决方案。 当前代码以下列方式实现: 应用程序/视图/布局/ _header.html.haml %header.navbar.navbar-fixed-top .navbar-inner .container # … %nav %ul.nav.pull-right # … %li= render ‘layouts/locale_selector’, controller: controller, action: action # (controller, action params passed in from application.html.haml) 应用程序/视图/布局/ _locale_selector.html.haml = form_tag({ controller: controller, action: action }, method: ‘get’, class: ‘locale’) do = select_tag ‘set_locale’, options_for_select(locale_languages, I18n.locale) = hidden_field_tag ‘page’, […]

如果存在基于记录id以外的属性的特定记录,如何创建新记录或更新,Ruby on Rails?

我有2个模型类,员工和公司。 外部库只生成员工ID。 如果他的详细信息已存在,我正在尝试更新员工详细信息,否则我需要创建新的员工详细信息。 以下是create方法的代码: def create if !@emp= Details.find_or_create_by_emp_id(params[:details][:emp_id]) @emp = Details.new(params[:details]) // some logic goes here else @emp.update_attributes(params[:details]) render action: “show” end end 但是这总是使用现有的emp_id创建一个新记录,而不是更新与特定emp_id相关的表行。 如何使其工作?

Rails – 表现forms奇怪:不保存任何text_field

在Rails中 Matteo Alessani解决了我的问题后- 在表单中找不到ID ,我注意到我的表单没有保存我传递的字段。 我将在这里复制我从另一个问题得到的所有代码: 路线: resources :honors 模型: class Honor ‘Person’, :foreign_key => “person_id” belongs_to :honored, :class_name => ‘Person’, :foreign_key => “honored_id” belongs_to :group, :class_name => ‘Group’, :foreign_key => “group_id” 控制器: def new @person = Person.find(params[:person]) @honored = Person.find(params[:honored]) @group = Group.find(params[:group_id]) @honor = Honor.new end def create @person = Person.find(current_person) @honor = […]

如何使用elasticsearch进行排序?

我正在尝试制作排序desc和asc 。 我正在使用rails,tire gem和elasticsearch。 我试图弄清楚我可以在URL中发送什么类型的参数 所以我在搜索块中定义它正在对结果desc顺序进行排序。 sort { by :price, “desc”} 当用户在: new-york中搜索公寓时,结果是排序顺序。 搜索查询/ URL如下所示: http://localhost:3000/apartmens?utf8&query=newyork 为什么我不能在url中添加sort-params,如下所示: http://localhost:3000/apartmens?utf8&query=newyork&sort=asc

Heroku – ActionView :: Template :: Error(PG ::错误:错误:列category_products.desc不存在

我正在使用RailsAdmin,这是我在RailsAdmin中单击我的模型CategoryProduct时出现的错误。 这就是错误的样子: Started GET “/admin/category_product” for 67.230.41.62 at 2012-12-21 23:20:07 +0000 2012-12-21T23:20:07+00:00 app[web.1]: 2012-12-21T23:20:07+00:00 app[web.1]: ActionView::Template::Error (PG::Error: ERROR: column category_products.desc does not exist 2012-12-21T23:20:07+00:00 app[web.1]: LINE 1: …ry_products”.* FROM “category_products” ORDER BY category_p… 2012-12-21T23:20:07+00:00 app[web.1]: ^ 2012-12-21T23:20:07+00:00 app[web.1]: : SELECT “category_products”.* FROM “category_products” ORDER BY category_products. desc LIMIT 20 OFFSET 0): 2012-12-21T23:20:07+00:00 app[web.1]: 120: %tbody […]

Rails – 使用rake任务更新属性。 需要帮助排除模型方法代码

我正在尝试使用每晚运行的rake任务(使用Heroku Scheduler)并在满足某些特定条件时更新某些属性。 关于应用程序的一点逻辑: 该应用程序允许用户在一年的时间内“接受挑战”并阅读一周的书。 这很简单:用户注册,创建他们将在第一周阅读的第一本书,然后可以输入他们下周要阅读的内容。 在他们将下周的书排成队之后,这个表格将被隐藏,直到他们的第一本书出版7天。 此时,排队的书被移动到列表的顶部并标记为“当前正在阅读”,而之前的“当前正在阅读”的书则向下移动到列表中的第二个位置。 如果用户没有“排队”一本书,如果自最新的“当前阅读”书籍创建起7天后,系统将自动创建一本书。 我需要一些建议 我目前所困的地方是,如果自上次“当前阅读”书籍创建以来已经过了7天,那么书籍就会更新属性。 下面是我的书模型,方法update_queue是在rake任务期间调用的内容。 运行rake任务当前没有错误并正确循环代码,但它不会更改任何属性值。 所以我确定update_queue方法中的代码在某些地方不正确,我很乐意帮助您解决原因。 我如何测试这个是通过添加一本书然后手动将我的系统日期更改为提前8天。 非常野蛮,但我没有为这个应用程序编写的测试套件,这是最简单的方法为我做:) class Book {:reading => 1}} } scope :latest_first, lambda { {:order => “created_at DESC”} } def move_from_queue_to_reading self.update_attributes(:queued => false, :reading => 1); end def move_from_reading_to_list self.update_attributes(:reading => 0); end def update_queue days_gone = (Date.today – Date.parse(Book.where(:reading => 1).last.created_at.to_s)).to_i # […]