我有一个字符串,因为"Frederik will not come office tomorrow.So please you have to do his tasks".我想要最小和最大长度的单词作为哈希如下:
{2=>["So", "to", "do"], 8=>["Frederik", "tomorrow"]}
Run Code Online (Sandbox Code Playgroud)
那么最简单的方法是什么呢?
我正在进行一种拍卖/捐赠项目,我想改变产品的属性,这是一个表示产品已经捐赠的布尔值.
我现在这样做的方式如下:
视图:
<%= form_for(@product) do |f| %>
<%= f.label "Are you sure you want to get this product?"%>
<%= f.check_box :donated%>
<%= f.submit "Receive!", class: "btn btn-large btn-primary" %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
控制器:
before_filter :signed_in_user, only: [:create, :destroy, :show, :index, :update]
...
def update
@product.update_attributes(params[:product])
flash[:success] = "Product donated!"
end
Run Code Online (Sandbox Code Playgroud)
路线:
resources :products, only: [:show, :create, :new, :update]
Run Code Online (Sandbox Code Playgroud)
而且我得到了以下错误:
undefined method `update_attributes' for nil:NilClass
app/controllers/products_controller.rb:30:in `update'
Request
Parameters:
{"utf8"=>"?",
"_method"=>"put",
"authenticity_token"=>"M9q/qVcDmVIlEx+T5VFF0YtkYtzHRUCZLkPkDjc7MJc=",
"product"=>{"donated"=>"1"},
"commit"=>"Update product",
"id"=>"1"}
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?感谢致敬.
我一直在试图找出在rails 3.1中构建用户标记系统的最佳方法.我试验了make_flaggable宝石,但它没有给我我需要的东西.
我正在为我的用户模型使用设计,我有一个属于用户的Post模型.我需要能够检索从站点管理员端标记的所有帖子的列表.到目前为止,我很难获得.
我不确定在Flag模型和Post/User模型之间需要使用哪种类型的关系.我一直在阅读多态关系,这看起来很有希望.
任何想法或反馈将不胜感激!
我目前正在尝试为用户实现简单的审计(仅适用于destroy方法).这样我知道用户是否已被管理员删除或用户自行删除.我想在deleted_by_id我的模型中添加列.
我正在考虑使用before_destroy,并检索用户信息,如本文所述:
http://www.zorched.net/2007/05/29/making-session-data-available-to-models-in-ruby-on-rails/
module UserInfo
def current_user
Thread.current[:user]
end
def self.current_user=(user)
Thread.current[:user] = user
end
end
Run Code Online (Sandbox Code Playgroud)
但是这篇文章是从2007年开始的,我不确定这会在多线程中工作吗?是否有关于这个主题的更新的内容,有没有人最近做过这样的事情来传递经验?
我准备了这两个数组:
list_of_students = Student.where('class = ?', param[:given_class])
list_of_teachers = Teacher.where(...)
Run Code Online (Sandbox Code Playgroud)
Studentbelongs_to Teacher和Teacherhas_many students.
现在,我需要从list_of_students所有项目(学生)中删除,其中teacher_id不包括在内list_of_teachers.
我在比较数组时发现了一些提示和HOWTO,但没有一个能够帮助我们找出这种情况.
先感谢您
我有一个结构,其中一个字段被声明为String,但它旨在存储时间。因此,我将其更改为*time.Time(请参阅commit),请注意使用指针绕过问题(在",omitempty"空白日期的情况下实际上并没有忽略该值)。
到目前为止,一切都很好。问题是,现在我正在尝试编写代码以测试JSON字符串的正确反序列化,但是我无法将结果与
want := Record{Id: 1539, UpdatedAt: time.Date(2014, 01, 15, 22, 03, 04, 0, time.UTC)}
Run Code Online (Sandbox Code Playgroud)
因为UpdatedAt它应该是一个指针*time.Time,而time.Date返回一个time.Time。
我不能用
want := Record{Id: 1539, UpdatedAt: &time.Date(2014, 01, 15, 22, 03, 04, 0, time.UTC)}
Run Code Online (Sandbox Code Playgroud)
因为它确实被拒绝(它需要一个指针,所以我尝试分配一个结构)
cannot take the address of time.Date(2014, 1, 15, 22, 3, 3, 0, time.UTC)
Run Code Online (Sandbox Code Playgroud)
这是我的问题。有没有一种方法来创建一个Record与time.Date上飞(因此不分配time.Date给一个变量,然后得到的指针)和/或对问题的解决方法,保证我能当对象被序列分配适当的零值/反序列化并且日期为空?
所以我一直在学习ruby on rails,我决定在myrubyblog应用程序上添加一些样式到我的新帖子页面.一切都在运作.几天后我决定从posts.scss文件导入scss到application.css.scss,我得到这个错误
RuntimeError in Home#index
Showing c:/Sites/myrubyblog/app/views/layouts/application.html.erb where line #5 raised:
Current ExecJS runtime does't support ES5. Please install node.js.
(in c:/Sites/myrubyblog/app/assets/stylesheets/application.css.scss)
Extracted source (around line #0):
Run Code Online (Sandbox Code Playgroud)
删除我的application.css.scss文件后,页面正常工作.删除实际的scss代码并离开application.css.scss后,页面开始再次出现问题.我决定删除application.css.scss文件.这出于某种原因允许我设置的样式显示,即使样式表本身已被删除.
我有一部分工作,但我被告知,如果条件块很短,我应该使用三元组.
module PayerContractsHelper
def showPayerContractRate(val)
json_val = JSON.parse(val)
if(json_val['amount'].present?)
"display:block"
else
"display:none"
end
end
end
Run Code Online (Sandbox Code Playgroud)
我怎么能用这段代码把它变成三元组呢?我假设代码更少,更精确.我怎样才能做到这一点?
在rails 4中,我可以合并!StrongParams,但因为rails 5(beta1)合并!不可用.这是在控制器中执行此操作的最佳方法
params = ActionController::Parameters.new({
name: 'Francesco',
age: 22,
role: 'admin'
})
params.merge!(city: "Los Angeles")
Run Code Online (Sandbox Code Playgroud) ruby-on-rails actioncontroller strong-parameters ruby-on-rails-5