我想在我的页面输出显示我的一个传感器(湿气)连接到Arduino.
下面的脚本,每隔一秒给我一些值(数字).
require 'dino'
board = Dino::Board.new(Dino::TxRx.new)
sensor = Dino::Components::Sensor.new(pin: 'A0', board: board)
on_data = Proc.new do |data|
puts data
sleep 1
end
sensor.when_data_received(on_data)
sleep
Run Code Online (Sandbox Code Playgroud)
我想我可以Sinatra用作API和Javascript脚本来显示异步输出.
所以这应该是这样的
%w(sinatra dino haml).each do |lib|
require lib
end
board = Dino::Board.new(Dino::TxRx.new)
sensor = Dino::Components::Sensor.new(pin: 'A0', board: board)
sleep 1
get '/' do
haml :index
end
get '/moisture' do
on_data = Proc.new do |data|
{ moisture_value: data }
sleep 1
end
sensor.when_data_received(on_data)
end
Run Code Online (Sandbox Code Playgroud)
你能给我一些提示或简单的好模式我应该如何处理?
我找到了样本sinatra app fo dino:https: …
当我尝试将用户编辑为管理员时,我想跳过验证.
模型
class User
...
attr_accessible :company_id, :first_name, :disabled, as: :admin
Run Code Online (Sandbox Code Playgroud)
调节器
class Admin::UsersController
...
def update
@user = User.find(params[:id])
@user.update_attributes(params[:user], as: :admin)
redirect_to edit_admin_user_path(@user), :notice => "User Account Updated"
end
Run Code Online (Sandbox Code Playgroud)
所以我试着改变update行动
def update
@user = User.find(params[:id])
@user.attributes = params[:user]
@user.save(validate: false)
redirect_to edit_admin_user_path(@user), :notice => "User Account Updated"
end
Run Code Online (Sandbox Code Playgroud)
但后来我没有访问set :disabled和:company_id属性,因为我不知道在哪里设置as: :admin
如何避免sleep 1在该示例中使用等待ES索引完成?
describe Question do
before do
create :question, content: "Some test question",
app: @app
create :question, content: "Some other question",
app: @app
sleep 1
end
it_behaves_like "search results found" do
let(:query) { "Some" }
let(:results) { ["Some test question", "Some other question"] }
end
end
Run Code Online (Sandbox Code Playgroud) 我有跟随表单对象来管理复杂的嵌套表单.
形成
= simple_form_for(@profile_form, :url => profiles_path) do |f|
...
Run Code Online (Sandbox Code Playgroud)
路线
resources :profiles
Run Code Online (Sandbox Code Playgroud)
调节器
class ProfilesController < ApplicationController
def new
@profile_form = ProfileForm.new
end
def edit
@profile_form = ProfileForm.new(params[:id])
end
def create
@profile_form = ProfileForm.new
if @profile_form.submit(params[:profile_form])
redirect_to @profile_form.profile, notice: 'Profile was successfully created.'
else
render action: "new"
end
end
def update
@profile_form = ProfileForm.new(params[:id])
if @profile_form.submit(params[:profile_form])
redirect_to @profile_form.profile, notice: 'Profile was successfully updated.'
else
render action: "edit"
end
end
end
Run Code Online (Sandbox Code Playgroud)
表格对象
class ProfileForm
include ActiveModel::Validations
include ActiveModel::Conversion
extend ActiveModel::Naming …Run Code Online (Sandbox Code Playgroud) 我想我的终端当前目录遵循我的VIM。
例:
在终端:
> pwd
=> /Users/rege
> vim
Run Code Online (Sandbox Code Playgroud)
然后在VIM中
:cd /Users/rege/project
<Ctrl-z>(for suspend)
Run Code Online (Sandbox Code Playgroud)
在终端
> pwd
=> /Users/rege/project
Run Code Online (Sandbox Code Playgroud)
我正在使用MacOS,zsh,tmux。
我需要这个,因为当我试图在VIM中使用标签时,标签是从我的终端目录而不是vim中签入项目的。
因此,当我更改VIM当前目录时,总是需要更改终端当前目录。
例如我有文字:
"testestestestt testestestes <img src='image.jpg'>"
Run Code Online (Sandbox Code Playgroud)
我想写函数检查字符串是否是img标签并返回true
我有简单的jbuilder视图
json.id pharmaceutic.id
json.name pharmaceutic.name
json.dosage pharmaceutic.dosage.name
Run Code Online (Sandbox Code Playgroud)
什么时候 pharmaceutic.dosage => nil
我呈现的json如下所示:
{"id":1,"name":"HerzASS ratiopharm","dosage":null}
Run Code Online (Sandbox Code Playgroud)
我想为所有jBuilder视图设置一些属性,nil它应该呈现为空字符串.
{"id":1,"name":"HerzASS ratiopharm","dosage":""}
Run Code Online (Sandbox Code Playgroud)
怎么实现呢?
我想选择一个hour(10, 11, 12, 13, 14, 15)来自select_box和日期params[:call_date]
# params[:call_date] => "2013-11-05"
= simple_form_for @welcome_call do |f|
= f.input :call_at, as: :datetime
= f.association :user, collection: User.all
= f.submit
Run Code Online (Sandbox Code Playgroud) 如何使用字符串foreign_key设置关联以正确设置has_one?
class Pharmaceutic < ActiveRecord::Base
has_one :pharmaceutic_group, foreign_key: "code"
end
class PharmaceuticGroup < ActiveRecord::Base
belongs_to :pharmaceutic, primary_key: 'code'
end
>> Pharmaceutic.last.pharmaceutic_group
Pharmaceutic Load (0.3ms) SELECT `pharmaceutics`.* FROM `pharmaceutics` ORDER BY `pharmaceutics`.`id` DESC LIMIT 1
PharmaceuticGroup Load (0.3ms) SELECT `pharmaceutic_groups`.* FROM `pharmaceutic_groups` WHERE `pharmaceutic_groups`.`code` = 2 ORDER BY `pharmaceutic_groups`.`id` ASC LIMIT 1
=> nil
>> Pharmaceutic
=> Pharmaceutic(id: integer, package_type: integer, group_code: string)
>> PharmaceuticGroup
=> PharmaceuticGroup(id: integer, code: string, name: string)
Run Code Online (Sandbox Code Playgroud)
例如,当:Pharmaceutic有group_code:aaa和PharmaceuticGroup有代码:aaa我想得到Pharmaceutic.last.pharmaceutic_group.name => 'AAA group …
ruby ruby-on-rails foreign-keys associations ruby-on-rails-4
我想要像这样的方法
Shift.by_quarter(1) => each shift in first quarter of current year
Run Code Online (Sandbox Code Playgroud)
现在我正在按日期选择一个季度班次
Shift
scope :by_quarter, lambda{|date|
where starts_at: date.beginning_of_quarter..date.end_of_quarter}
Run Code Online (Sandbox Code Playgroud) ruby ×8
javascript ×2
arduino ×1
associations ×1
asynchronous ×1
date ×1
datetime ×1
foreign-keys ×1
forms ×1
jbuilder ×1
jquery ×1
json ×1
object ×1
rspec ×1
simple-form ×1
sinatra ×1
tire ×1
unix ×1
validation ×1
vim ×1
vim-plugin ×1