我刚刚开始关注MVC结构,首先我看看它是如何backbone.js工作的,现在我已经完成了Code School的僵尸轨道.我知道我没有深入研究这一点,但我有一个问题要开始.
你能一起使用这些库吗?
我已经学会了如何在两者中创建models,views等等,但是在创建一个真正的应用程序时,你是否同时使用主干和rails?
如果是这样...
你什么时候使用backbone.js模型而不是rails模型?
也许我只是领先于自己,需要继续练习和做教程,但我似乎无法直接找到任何东西.
谢谢!
javascript ruby model-view-controller ruby-on-rails backbone.js
我很难找到ActiveRecord对象的includes()和preload()的比较.有人可以解释这个区别吗?
我正在编写一个跟踪学校课程的应用程序.
我需要存储时间表.例如:周一至周五上午8点至上午11点.
我正在考虑使用一个简单的字符串列,但我将需要稍后进行时间计算.
例如,我需要存储8am的表示,例如start_at:8am end_at:11am
那我该如何存储时间呢?我应该使用什么数据类型?我应该存储开始时间和秒数或分钟数,然后从那里计算?或者有更简单的方法吗?
我使用MySQL进行生产,使用SQLite进行开发.
鉴于ruby代码:
"aaaa\nbbbb\n\n".split(/\n/)
Run Code Online (Sandbox Code Playgroud)
这输出:
["aaaa", "bbbb"]
Run Code Online (Sandbox Code Playgroud)
我希望输出包含指示的空白行\n\n- 我希望结果为:
["aaaa", "bbbb", ""]
Run Code Online (Sandbox Code Playgroud)
获得这个确切结果的最简单/最好的方法是什么?
每当我运行测试或启动rails服务器时,我都会收到此警告.
当我从.rvm文件夹运行grep时,我看到以下内容:
grep -R 'Digest::Digest' .
./rubies/ruby-2.1.0/lib/ruby/2.1.0/openssl/digest.rb: warn('Digest::Digest is deprecated; Use Digest')
- additional references to openssl and ruby 2.1.0
Run Code Online (Sandbox Code Playgroud)
所以它看起来像是一个Ruby 2.1.0错误.有没有修复?据我所知,目前还没有可用的补丁.
虽然我的应用程序使用Fog和其他一些与此消息有关的问题,但我使用的是没有错误的修补版本.所以我认为Ruby在这里有错.
我对rails很新,我正在尝试创建用户登录.我浏览了这里的教程.最后它让我为质量分配添加"attr_accessible".但是,当我这样做时,我收到以下错误:
undefined method `attr_accessible' for #<Class:0x007ff70f276010>
Run Code Online (Sandbox Code Playgroud)
我在这篇文章中看到我需要<ActiveRecord :: Base.但我确实包含了这一点.这是我的用户模型的代码:
class User < ActiveRecord::Base
attr_accessor :password
EMAIL_REGEX = /\A[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\z/i
validates :username, :presence => true, :uniqueness => true, :length => { :in => 3..20 }
validates :email, :presence => true, :uniqueness => true, :format => EMAIL_REGEX
validates :password, :confirmation => true #password_confirmation attr
validates_length_of :password, :in => 6..20, :on => :create
before_save :encrypt_password
after_save :clear_password
attr_accessible :username, :email, :password, :password_confirmation
def encrypt_password
if password.present?
self.salt = BCrypt::Engine.generate_salt
self.encrypted_password= …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用RestClient使用post方法访问Web服务.我正在发送指定的授权令牌,但我仍然收到403状态错误,这意味着我被禁止使用该API.有什么方法可以看到使用http post发送的请求,以便我可以验证标头?我无法找到任何示例或任何文件提及如何做到这一点?
我的代码与此类似:
token = get_token
response = RestClient.post "https://api-dev.xxx.com/software/services/search/ABC",
:authorization => "Bearer #{token}"
Run Code Online (Sandbox Code Playgroud) 我有一个全新的Rails 4.1.1应用程序,我正在自定义Devise电子邮件.我想让它们显示在新的Rails电子邮件预览功能上,所以我做了以下事情:
1)在我的config/development.rb文件中添加了以下代码段:
config.action_mailer.preview_path = "#{Rails.root}/lib/mailer_previews"
Run Code Online (Sandbox Code Playgroud)
2)创建我的自定义设计的电子邮件UserMailer中app/mailers/user_mailer.rb:
class UserMailer < Devise::Mailer
helper :application # gives access to all helpers defined within `application_helper`.
include Devise::Controllers::UrlHelpers # Optional. eg. `confirmation_url`
layout "notifications_mailer"
end
Run Code Online (Sandbox Code Playgroud)
3)更改config/initializers/devise.rb为包含以下代码段:
config.mailer = 'UserMailer'
Run Code Online (Sandbox Code Playgroud)
4)添加了类UserMailerPreview以lib/mailer_previews用下面的内容:
class UserMailerPreview < ActionMailer::Preview
def confirmation_instructions
UserMailer.confirmation_instructions(User.first, {})
end
def reset_password_instructions
UserMailer.reset_password_instructions(User.first, {})
end
def unlock_instructions
UserMailer.unlock_instructions(User.first, {})
end
end
Run Code Online (Sandbox Code Playgroud)
到现在为止还挺好.看起来我已经做好了一切.但后来我尝试confirmation_instructions在/ rails/mailers/user_mailer/confirmation_instructions路线上看到电子邮件的预览,我收到以下错误:
undefined method `confirmation_url' for #<#<Class:0x007fa02ab808e0>:0x007fa030fb7e80>
Run Code Online (Sandbox Code Playgroud)
我的confirmation_url.html.erb模板的代码如下所示: …
RuboCop建议:
使用
Array.new带而不是块.times.map.
在警察的文件中:
这个警察检查.times.map调用.在大多数情况下,可以使用显式数组创建来替换此类调用.
例子:
# bad
9.times.map do |i|
i.to_s
end
# good
Array.new(9) do |i|
i.to_s
end
Run Code Online (Sandbox Code Playgroud)
我知道它可以被替换,但我觉得9.times.map更接近英语语法,并且更容易理解代码的作用.
为什么要更换?
我在Mac上更新了XCode,从那时起使用Docker时出现了docker-sync-stack start以下错误消息:
mkmf.rb can't find header files for ruby at /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/include/ruby.h
Run Code Online (Sandbox Code Playgroud)
我尝试用这个安装ruby:brew install rbenv ruby-build但这并没有改变任何东西.
有谁知道我怎么解决它?
谢谢!
ruby ×10
activerecord ×1
backbone.js ×1
debugging ×1
devise ×1
docker ×1
http ×1
javascript ×1
performance ×1
rest-client ×1
rubocop ×1
ruby-2.1 ×1
split ×1
string ×1
warnings ×1