草庐IT

current_item

全部标签

ruby-on-rails - 如何每第三个 missed_day 重新启动 current_level(3 次罢工!)?

例如,如果用户处于第4级:第50天,他将被推回到第45天。casen_dayswhen0..9#Wouldgobackto01when10..24#Backto102when25..44#Backto253when45..69#Backto454when70..99#Backto705else"Mastery"end然后假设他再次返回,这次是第68天,如果他再次勾选3missed_days,他将再次被推回到>第45天:_form(如上图所示):"class="habit-id">Missed:"class="level-id">Level:0,{class:"habit-check"}

ruby - YAML/ ruby : Get the first item whose <field> is <value>?

我有这个YAML:-company:-id:toyota-fullname:トヨタ自動車株式会社-company:-id:konami-fullname:KonamiCorporation而且我想获取ID为konami的公司的全名。使用Ruby1.9.2,最简单/常用的获取方式是什么?注意:在我的其余代码中,我一直在使用require"yaml",所以我更愿意使用相同的库。 最佳答案 这也行,但不使用迭代:y=YAML.load_file('japanese_companies.yml')result=y.select{|x|x['

ruby-on-rails - current_page 正在使用语言环境参数,但没有它们就无法工作

我正在使用current_page将事件类分配给导航菜单,但我认为我不了解current_page的工作原理。示例代码如下。home_controller.rbclassHomeControllerapplication.html.erb当在localhost:3000/menu时,application.html.erb打印false。当在localhost:3000/menu?locale=en时,application.html.erb打印true。在localhost:3000/menu?locale=ko中时,application.html.erb也打印true。无论loc

ruby-on-rails - correct_user 不使用 current_user?

我希望未登录的人能够看到展示页面。现在他们收到current_user的NoMethodError错误。defshow@correct_user=current_user.challenges.find_by(id:params[:id])endsessions_helper#Returnsthecurrentlogged-inuser(ifany).defcurrent_userif(user_id=session[:user_id])@current_user||=User.find_by(id:user_id)elsif(user_id=cookies.signed[:user_

ruby-on-rails - current_user.present 和 if user_signed_in 有什么区别?

正在设计并想知道两者之间的区别是什么和 最佳答案 不,实际上没有区别。查看user_signed_in?的元编程实现:def#{mapping}_signed_in?!!current_#{mapping}end当针对User模型进行身份验证时,这解析为:defuser_signed_in?!!current_userend注意:如果current_user为nil或false,则!!current_user返回true>。这与present?完全相同 关于ruby-on-rails-c

ruby-on-rails - ruby /rails : difference between "@item" and "item" in a view

我有一个View可以从Controller呈现或作为另一个View的一部分呈现。在我读过的所有代码中,Controller分配一个实例变量“@item”,然后调用View。另一方面,当将其渲染为局部时,它会接收一个参数“item”。所以,我所有的观点都是这样开始的:item||=@item非常不干。有没有更好的方法我想念? 最佳答案 @item是一个实例变量——它对整个类实例可见。出于RailsView的目的,您可以将它们视为“全局”变量。例如,如果您有:classFoodefinitialize@bar="Yay!"enddefs

ruby-on-rails - 每个循环 : show item once and sum quantity

我目前正在使用这段代码循环查看特定日期的已订购商品ItemQuantity目前,如果商品1被多次订购,它会在列表中出现多次。我只想让它出现一次,旁边有一个数字来显示订购的数量。例如,如果item_1在demand_1中的数量为5,item_1在demand_2中的数量为10,则结果应为:item_1....15谢谢! 最佳答案 应该这样做:ItemQuantity希望这对您有所帮助!一些解释:@demand.flat_map(&:demand_items)#equivalent:(longversion)@demand.map{|d

ruby - 使用 RSpec 测试 @current_user 方法

这几天我一直在尝试这样做,但我无法弄清楚。我的Controller中有以下代码:@some_object=@current_user.some_method在我的规范中,我想在那个方法上附加一个should_receiveHook,但我无法让它工作。我已经尝试了所有这些,但都没有用:assigns[:current_user].should_receive(:some_method).at_least(:once)#expected1,got0User.should_receive(:some_method).at_least(:once)#expected1,got0正确的测试方法是

ruby-on-rails - 在 Rails 的 API 包装器中使用 Thread.current 的替代方法

我开发了一个应用程序,允许我们的客户创建他们自己的成员(member)保护网站。然后,我的应用程序连接到外部API服务(客户特定的api_key/api_url)以将数据同步/更新/添加到该其他服务。好吧,我已经为到目前为止一直有效的其他服务编写了一个API包装器。但是,我现在看到连接为零的情况非常随机。这是我目前使用连接的方式:我有一个xml/rpc连接类classApiConnectionattr_accessor:api_url,:api_key,:retry_countdefinitialize(url,key)@api_url=url@api_key=key@retry_co

ruby-on-rails - 如何将 current_user 传递给 Sidekiq 的 Worker

我正在尝试将current_user或User.find(1)传递给工作模块,但在sidekiq的仪表板中出现错误(localhost:3000/sidekiq/retries):NoMethodError:undefinedmethod`supports'for"#":String注意:我的关系还好,即:u=User.find(1)u.supports#=>[]supports_controller.rb:defcreate@user=current_userProjectsWorker.perform_async(@user)...endapp/workers/projects_w