Tag: 的Ruby on 轨道

了解Railsvalidation:allow_blank做了什么?

我是Rails的新手,发现了一个小片段来逐步validation存在和唯一性:首先检查存在,然后检查唯一性。 validates :email, :presence => true, :allow_blank => true, :uniqueness => { :case_sensitive => false } 关于使用presence => true和allow_blank => true ,我有点困惑。 如果不使用allow_blank => true ,将同时检查两个规则,而不是逐步检查。 为什么allow_blank => true做这个魔术?

OmniAuth Strategies Facebook NoAuthorizationCodeError(必须传递`code`参数或签名请求(通过`signed_request`参数):

我收到一个错误: OmniAuth::Strategies::Facebook::NoAuthorizationCodeError (must pass either a `code` parameter or a signed request (via `signed_request` parameter or a `fbsr_XXX` cookie)): 它不会一直出现。 它会偶尔出现,由airbrake通知。 谷歌搜索有很多链接,但无法找到合适的解决方案..任何人? omizersuth.rb在initializers目录下: OmniAuth.config.logger = Rails.logger Rails.application.config.middleware.use OmniAuth::Builder do provider :facebook, ENV[‘FACEBOOK_KEY’], ENV[‘FACEBOOK_SECRET’], {:client_options => {:ssl => {:ca_path => “/etc/ssl/certs”}}, :scope => ‘user_about_me,email,publish_actions,user_location,publish_stream,offline_access,user_interests,user_likes,user_hometown’, :display => ‘popup’} OmniAuth.config.on_failure = Proc.new do |env| #this will invoke the […]

Rails:如何安全地存储邮件密码?

嗨我在heroku和github上有我的rails应用程序,我目前正在我的应用程序中使用邮件程序: ActionMailer::Base.smtp_settings = { :address => “smtp.gmail.com”, :port => 587, :user_name => “myemail@gmail.com”, :password => “PasswordShouldGoHere”, :authentication => “plain”, :enable_starttls_auto => true } 我不希望我的电子邮件和密码在我的github帐户上可见,因为人们只能登录并窃取我的信息。 但是,如果我输入了一个假密码,那么当邮件发送时,我的应用程序会在heroku上给我一个错误。 我知道我可以先将真实的电子邮件和密码推送到heroku,然后编辑它并将假密码放在我的github帐户上,但是有更好的方法吗?

注册后设计重定向

设计给了我一个相当困难的时间。 现在,除了注册重定向之外,其他一切似乎都在工作。 我希望设计在注册或登录时重定向到我的城镇控制器(登录实际上有效)。 我试过覆盖RegistrationsController,我尝试添加一个applicationController函数,如: def after_sign_in_path_for(resource_or_scope) if resource_or_scope.is_a?(User) town_path else super end end 不过,我得到了同样的错误: NoMethodError in User/townController#index You have a nil object when you didn’t expect it! You might have expected an instance of Array. The error occurred while evaluating nil.* 说真的,我找不到办法去做。 有什么想法吗? 🙂 编辑:我的路线 new_user_session GET /users/sign_in(.:format) {:action=>”new”, :controller=>”devise/sessions”} user_session POST /users/sign_in(.:format) {:action=>”create”, :controller=>”devise/sessions”} […]

铁路多对多自我加入

有人可以指出我正确的方向: 我尝试为构建以下内容的rails构建模型: ClassA -id ClassA与许多“ClassA”有关系(因此它是对自身的引用) 我正在寻找迁移和模型。 我不确定正确的连接表是什么(我认为它是一个简单的2列表ClassA_id,ClassARel_ID – >都指向ClassA)以及如何构建模型 谢谢!

Rails主键和对象ID

我正在访问具有典型主键id的rails模型。 但是,当我在方法中访问它时,我收到以下警告。 Object#id will be deprecated; use Object#object_id 似乎它在对象id和模型的主键之间变得混乱。 有没有办法确保它使用字段id ?

ruby erb中的(不等于)意味着什么?

我发现这个“没有替换回输出执行”,但也许我的英语不太好,我真的不明白这意味着什么。 任何人都可以帮忙吗?

在同一页面上创建多个非嵌套模型

有没有办法在同一页面上创建多个模型而不是嵌套在另一个模型中? 例如,我想要一个可以创建用户的表单。 它有两个简单的字段,名字和姓氏,显示在同一行。 我希望能够添加一个链接“添加新用户”,这将创建(使用javascript)相同的行而不回发,并允许我在同一页面上创建两个用户。 如何使用rails实现这一目标?

模板丢失了

目前正在开发一个项目,并遇到了一个我以前从未遇到过的问题。 目前正在进行登录注册页面,要求用户注册。 之前我有一个未定义的方法`name’error,然后意识到该方法不被称为名称,它被称为full_name。 我已经浏览了所有文件夹,以确保任何方法或属性都不称为“名称”,并将其重命名为“full_name”。 刷新浏览器后,我收到了以前没见过的错误。 有些人可以解释一下这个错误是什么以及我怎么可能解决它。 模板丢失了 缺少模板用户/使用{:handlers => [:erb,:rjs,:builder,:rhtml,:rxml],:formats => [:html],:locale => [:en,:en]} in查看路径“C:/ Users / patterd / Documents / Project / app / views”

将非www请求重定向到Rails中的www url

简单的问题,但似乎无法找到一些快速谷歌搜索的答案。 直接执行此操作的Rails方法是什么( http://x.com/abc > http://www.x.com/abc )。 一个before_filter?