在我的Rails应用程序中,我有以下模型:
class Idea < ActiveRecord::Base
belongs_to :user
end
class User < ActiveRecord::Base
has_many :ideas
end
Run Code Online (Sandbox Code Playgroud)
我正在为我的模型创建ActiveAdmin CRUD Idea,其自定义表单看起来像这样:
form do |f|
f.inputs do
f.input :member
f.input :description
end
end
Run Code Online (Sandbox Code Playgroud)
要求是为成员关联的内容提供自定义文本,即"#{last_name}, #{first_name}".是否可以自定义我的成员选择框来实现它?
任何帮助将不胜感激.
我目前有标准的flash消息与设计成功/失败的宝石等.我添加了通过close类手动关闭带有一些引导功能的消息的选项.下面显示了一个小片段.
{
<a class="close" data-dismiss="alert">×</a>
<%= content_tag :div, msg, :id => "flash_#{name}" %>
}
Run Code Online (Sandbox Code Playgroud)
我希望有一个选项来创建一个超时时间段,警报消息将在5秒后关闭.不确定在Rails中是否有一种简单的方法可以做到这一点.
谢谢
我几十个小时都坚持这件事.我无法让它发挥作用.我尝试了一切我能想到和/或在网上找到的东西.
所以,我的应用程序指向ELB(web).ELB侦听80和443并将流量发送到80(此处SSL终止)到成员实例(即nginx).
Nginx代理应用程序请求在多个实例前面的另一个ELB(app).这些实例运行puma.
一切正常,除非我尝试使用方案访问URL(我用于force_ssl该控制器)https,我得到一个重定向循环.
这是我的nginx配置看起来像
location @{{app_name}} {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_redirect off;
proxy_pass http://{{app_name}};
# limit_req zone=one;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
}
Run Code Online (Sandbox Code Playgroud)
(显然app_name被ansible取代.)
而不是$scheme,我尝试了硬编码https,$proxy_add_x_forwarded_proto但没有一个对我有效.我仍然得到循环.
然后我开始检查envrails中的内容,无论我在nginx配置中设置哪个头,我都会看到以下值.
"SERVER_PROTOCOL"=>"HTTP/1.1",
"HTTP_X_FORWARDED_PROTO"=>"http",
"rack.url_scheme"=>"http",
Run Code Online (Sandbox Code Playgroud)
我不确定我做错了什么.任何帮助赞赏!注意:我已经检查了所有找到的SO线程,没有人帮忙!
我对Ruby on Rails非常陌生并且在尝试修复我公司网站上的一些错误时学习.我正在尝试对与特定锚点组合的记录集合进行分页,即当用户点击下一页/上一页时,分页发生并且用户登陆页面的特定部分.这就是我的代码目前的样子:
<%= page_navigation_links @student_logs, :page %></p>
Run Code Online (Sandbox Code Playgroud)
@student_logs.paginate(:page => params[:page], :per_page => 10)
Run Code Online (Sandbox Code Playgroud)
def page_navigation_links(pages, param_name=:page)
will_paginate(pages, :class => 'pagination', :inner_window => 2, :outer_window => 0, :renderer => BootstrapHelper::LinkRenderer, :previous_label => '←'.html_safe, :next_label => '→'.html_safe, :param_name => param_name)
end
Run Code Online (Sandbox Code Playgroud)
这适用于我的分页,但我需要在此代码中引用"锚ID",例如学生日志,以便当用户导航到其他页面时,浏览器会将用户导航到ID为"student_logs"的标题".
我无法弄清楚如何做到这一点.有人可以帮忙吗?
当我们在开发模式下运行时,我们在Rails 3.1中遇到了问题.似乎我们的模型有时会在请求中重新加载,并且在我们的模型类上设置了新的object_id.然后导致ActiveRecord :: AssociationTypeMismatch
ActiveRecord :: AssociationTypeMismatch字符(#2194222580)预期,得到字符(#2185863000)
如果我们把config.cache_classes = true在development.rb这个问题似乎消失,但它是不现实的发展一样,因为我们必须不断地重新启动我们的服务器.
任何人都知道为什么模型可以在请求中重新加载,或者是否有办法可以强制缓存持续整个请求?
我正在创建一个网站,其中一个页面正在使用来自外部网站的javascript文件
外部js包含(实际上加载)我在页面上不需要的图像.
如何阻止该图像加载(假设img url是"http://image.com/img.png")?是否有任何javascript代码可以做到这一点?
感谢大家
活动的管理员宝石被添加到我的rails项目,但每次我尝试安装rails g active_admin:install,我收到错误
git://github.com/activeadmin/activeadmin.git(在主站)尚未签出.跑
bundle install第一.
我在运行"rails g active_admin:install"之前肯定运行了bundle.运行"捆绑显示"后,我看到我已将"*activeadmin(1.0.0.pre 3f916d6)"添加到我的项目中,但不断收到此错误消息.我的宝石文件如下
source 'https://rubygems.org'
gem 'rails', '4.1.8'
gem 'sqlite3'
gem 'sass-rails', '~> 4.0.3'
gem 'uglifier', '>= 1.3.0'
gem 'coffee-rails', '~> 4.0.0'
gem 'jquery-rails'
gem 'turbolinks'
gem 'jbuilder', '~> 2.0'
gem 'sdoc', '~> 0.4.0',
group: :doc
gem 'spring', group: :development
gem 'devise'
gem 'activeadmin', github: 'activeadmin'
Run Code Online (Sandbox Code Playgroud) 升级到 Rails 6.1 后,出现以下错误:
undefined method `find_script_name' for nil:NilClass
Run Code Online (Sandbox Code Playgroud)
在这种情况下,正在使用的路线是,root_path但也为许多其他路线获取此路线!routes.rb如下(删除所有其他路由定义后尝试这样做)
Rails.application.routes.draw do
root 'home#index'
end
Run Code Online (Sandbox Code Playgroud)
我在网上找到的唯一相关的东西是这个提交。任何人都知道可能出了什么问题吗?
我在红宝石上运行2.7.2
我对WordPress的永久链接如何工作有点困惑,特别是超出了Wordpress自己的用法.我的永久链接就像:
%post_id%-%post_name%
Run Code Online (Sandbox Code Playgroud)
但是single.php我希望将另一个链接放到页面本身但是使用不同的查询字符串.单击它时,永久链接结构可能如下所示:
%mystring%-%post_id%-%post_name%
Run Code Online (Sandbox Code Playgroud)
我想从中得到价值$_GET['action'],所以:
$_GET['action'] = %mystring%
Run Code Online (Sandbox Code Playgroud)
我的计划是将它解释为:
if('xx' == $_GET['action']){
//do xx stuff
} else if ('yy'==$_GET['action']){
//do yy stuff
} else {
//show the single post as a single.php always shows
}
Run Code Online (Sandbox Code Playgroud)
这意味着,我想解析$_GET['action']可选的.如果我不解析它,即使它在查询字符串中可用,我希望页面正确呈现.
为了完成这项工作,我应该在哪里工作?另外我如何形成<a>标签的链接?通常我们这样做链接:
<a href="'.the_permalink().'">TEXT</a>
Run Code Online (Sandbox Code Playgroud)
但你已经知道了,我需要在帖子的原始永久链接之前添加一些文字.
提前致谢.
我想匹配整行,并在该行上匹配单词/短语!我尝试了这个:
preg_match("/PHRASE/i", $dictionary,$matches);
Run Code Online (Sandbox Code Playgroud)
但是我只得到匹配的单词!但我需要整条线!超过15K条线!
我已将窗口的滚动事件绑定到视图的方法,例如:
MyView = Backbone.View.extend({
initialize: function(){
_.bindAll(this, 'handleScrolling');
$(window).off('scroll', this.handleScrolling).on('scroll', this.handleScrolling);
}
})
Run Code Online (Sandbox Code Playgroud)
我看到这行不通。如果此回调被触发的次数与此视图被实例化的次数一样多。但是,如果我从 中删除处理程序off,则它会正确解除绑定并且每次滚动仅触发一次。喜欢:
$(window).off('scroll').on('scroll', this.handleScrolling);
Run Code Online (Sandbox Code Playgroud)
知道为什么会这样吗?我不想从此事件中删除所有回调,因为其他视图/代码可能会将事件绑定到它,这将使应用程序表现出意外。
有没有更好的方法将事件绑定到当前视图范围之外的窗口/文档或其他元素?
ruby ×3
jquery ×2
php ×2
activeadmin ×1
activerecord ×1
alert ×1
amazon-elb ×1
backbone.js ×1
github ×1
google-plus ×1
html ×1
image ×1
javascript ×1
nginx ×1
permalinks ×1
regex ×1
wordpress ×1