我为我的客户创建了一个rails应用程序。它是PHP,我完全用rails从头开始重建它。问题是这个网站很旧,很多旧页面都在谷歌排名。当然,很多人会点击谷歌的页面链接,页面将不可用
你通常如何处理这样的问题
我需要将这些请求(丢失的旧页面)重定向到新应用程序(rails)的首页。我该怎么做
谢谢
Sam你可以使用谷歌“.htaccess”、apache和“永久重定向”。301重定向是最有效和谷歌友好的方式,应该可以保持你的搜索页面排名
也就是说,我还没有在现实生活中尝试过它,因为我的应用程序的下一
如果我有一个模型,如下面的例子
class Person < ActiveRecord::Base
has_many :moods
end
class Mood <ActiveRecord::Base
end
如何更改new.html.erb允许我在输入新人时选择心情?我需要手动将外键添加到mysql吗?如果需要选择菜单,您正在寻找帮助程序
检查一下,它可以为您的许多人生成一个很好的选择菜单。如果您想要选择菜单,您正在寻找帮助者
看看吧,它可以为你的很多东西生成一个
我对嵌套资源有问题
2款车型
User => has_many :stuffs
Stuff => belongs_to :user
routes.rb
map.resources :stuffs
map.resources :users, :has_many => [:stuffs]
当我调用/users/1/Stuff时,它会向我显示相应用户的内容。但我在调用/users/2/stuff时也得到了这个消息。它应该返回0个“stuff”,但不起作用
MySQL Quer
我得到了一个未定义的方法“答案”错误:@survey.questions.answers
只要运行@survey.questions就可以了
以下是我的模型设置:
class Survey < ActiveRecord::Base
has_many :questions
accepts_nested_attributes_for :questions, :reject_if => lambda { |a| a[:text].blank? }, :allow_destroy
我已经试着学习Ruby&RoR有一段时间了,但是在维护分页链接排序时遇到了一个难题。由于我在PHP应用程序中使用了类似的体系结构,所以我已经放弃了MVC体系结构部分。我从另一组开发人员那里继承了一个应用程序,其中包含需要更正的错误
在为给定用户列出客户的页面上,有分页将列表拆分为20页。每列可用于对数据表进行排序。一旦页面按备用列排序,单击其中一个分页链接将转到该页面,但将排序顺序恢复为默认顺序
因此,一般的想法是,我需要在分页链接中维护当前页面的GET参数(指定排序顺序)
一些示例URL:
我正在开发一个电子商务系统,并熟悉RSpec
订单具有关联的付款。订单完成后,它开始通过我们的支付网关处理付款
下面是规范、适当的方法和故障消息
require'spec\u helper'
描述订单,“#处理#付款”做什么
允许(:user){create_user}
允许(:信用卡){新信用卡}
允许(:order){user.orders.create!总数:200}
允许(:payment){stub('payment',已开始处理!:true,)}
在做之前
信用卡存根(销售:真实)
我有一个范围内的路线:
scope :path => ":db", :defaults => {:db => "default"} do
resources :boxes
end
产生
boxes GET /:db/boxes(.:format) {:db=>"default", :action=>"index", :controller=>"boxes"}
POST /:db/boxes(.:
出于某些原因,我在文档中找不到这一点,但我想做如下工作:
%span(class="widget_#{@widget.number}")@widget_number
因此@widget_number变量被输出到HTML
%span{:class => "widget_#{@widget.number}"}= @widget_number
routes.rb=>
devise_for :users
resources :posts
match "posts/:id/categ" => "posts#categ"
match "posts/:id/tag_posts" => "posts#tag_posts"
match "posts/searcharchive" => "posts#searcharchive"
#post "posts/searcharchive"
resourc
因此,情况如下:
社区引擎中的照片模型使用附件Fu。一、 我想改用回形针
现在,在我必须删除附件之前,这一切都很好。这就是问题的根源。下面是Photo.rb的外观(在/vendor/plugins/community\u engine/app/models中):
class-PhotoProc.new{| record | record.parent.nil?&&record.album_id.nil?}
验证\u是否存在\u:大小
验证是否存在:内容类型
验证是否存在:filename
验证是
如何控制活动管理编辑页面上字段的显示顺序?要自定义视图页面,我已使用以下内容更新了管理员/模型文件:
ActiveAdmin.register Church do
menu :priority => 2
scope :inactive
scope :unregistered
scope :active
scope :registered
show do
attributes_table :name, :address1, :address2, :city,
我有两种型号
缺勤:金额、员工id
职员:身份证,请假
在缺勤模型中,我想编辑id在staff_id中的员工,然后我想更改他们的休假余额,但我不知道如何根据当前模型中的员工id在缺勤时使用我的方法访问员工模型中的该属性概念
然后你可以这样做:
Staff.rb
class Staff < ActiveRecord::Base
has_one :absence # or has_many :absence
end
class Absence < ActiveRecord::B
我在我的项目中使用resque和resque稍后发送插件(不是gems)
我根本没有在代码中的任何地方放“require”语句(因为它们是插件,所以必须在初始化时包含它们)
该应用程序在本地运行良好,但在heroku上显示错误
“常量缺失:单位化常量用户::Resque”
我的用户模型:
class User < ActiveRecord::Base
include Resque::Plugins::SendLater
def self.testingWorker1
在Github中,问题系统的ID如下
/<user>/<repository>/issues/<issue_number>
应该给第五个人第一顶帽子,而不是DB表中的第一顶帽子。
所以
/people/5/hats/1
就不一样了
/people/6/hats/1
你知道如何在rails中实现这一点吗?可能有教程的链接吗?您的逻辑应该在hats的show controller中
resources :people do
resources :hat
更新
我现在知道(通过运行heroku run bash和ls-la),部署到heroku后,config目录确实丢失了。但是,它存在于本地存储库中
.gitignore
/.bundle
# Ignore the default SQLite database.
/db/*.sqlite3
# Ignore all logfiles and tempfiles.
/log/*.log
*.log
/tmp
将应用程序推送到heroku后,我得到了/app/config/environm
我目前正在2台Heroku dynos上运行我的应用程序。根据我目前所查找的内容,我需要添加类似于config/unicorn.rb的内容:
worker_processes 3
timeout 30
@resque_pid = nil
before_fork do |server, worker|
@resque_pid ||= spawn("bundle exec rake " + \
"resque:work QUEUES=scrape,geocode,distance,mai
正在从中获取gem元数据。
无法加载OpenSSL。
您必须使用OpenSSL支持重新编译Ruby,或者更改数据库中的源代码
将文件从“https”转换为“http”。使用OpenSSL编译的说明
使用RVM可从RVM.io/packages/openssl获得。您的答案在错误消息中。将“https://rubygems.org”更改为“http://rubygems.org”。这应该能让它工作
另外,如果你在你的操作系统中使用Ubuntu,我还没有找到比它更好的安装ruby、rails和rvm
我有一个事件模型,我想添加一个可附加模型的列表。这需要包括某种多态性,因为可附加的列表可以是联系人用户发布导入和其他几个列表中的任意一个
我不完全确定如何才能最好地实现这一点。单个联系人也可以附加到许多事件。以以下为例:
event.attachables #=> [User, Contact, Contact, Import, ...]
user = event.attachables.first
user.attached_events #=> [Event, Event, Ev
我在Date添加了一个方法,如下所示:
class Date
def days_different(date)
Float(self-date)
end
end
这在我的应用程序的其余部分工作得很好,但是我在lib/tasks/database.rake中也有一个rake任务,它在没有加载该任务的地方使用它,尽管该任务依赖于=>:environment(大大简化了测试版本,如下所示)
奇怪的是,rake:test在加载其环境时加载helper函数,所以我完全不明白为什么不在ra
我有和admin\u mailer:
class AdminMailer < ActionMailer::Base
def send_message_to_all_users(user, subject, body, locale)
@user = user
@body = body
@locale = locale
mail(:to => user.email, :subject => subject)
end
end
在我的车型中用户
我想在单元格中使用Rails自己的控制器基准测试方法。我尝试在cells控制器中包含ActiveSupport::Benchmarkable。但是调用self.class.benchmark会出现“不存在方法”错误。我发现我可以调用self.benchmark(实例方法),这与Rails不同
目前,我们使用Desive让用户登录我们的网站,但我们有两种Desive模型。一个给用户,一个给房东。现在,当用户第一次打开我们的iOS应用程序时,我们的用户是以原子方式创建的。当用户创建列表时,他们会创建另一个名为房东的用户帐户。我需要一种方法将这些功能整合到一起,但保留我们iOS应用程序的当前功能,并添加通过facebook登录的功能。关于如何解决此问题,您有什么想法或意见吗?可能是当用户创建一个房东帐户时,传入用户id,然后将所有字段转移到房东用户类型,然后删除用户,或者类似的事情。或者,
我使用带有回形针的Rails和S3上传图像,我已经让它在生产中运行了一段时间。现在,我正在尝试更新图像的保存方式(以创建更可读的文件名),但我不确定如何在不中断所有已上载图像的情况下更改路径
有什么解决办法吗?我还没做,只是试了一下
rake回形针:刷新类=类名称
我用它来刷新附件的样式大小。我不知道它是否有效。试试看。你可以试试这个。假设你的模特是阿凡达
创建一个模型的副本,比如说OldAvatar。将此模型中的表名设置为“avatars”
在头像模型中,根据需要设置回形针路径/文件名
现在,
刚开始使用rails并尝试重构我的一些视图,我有点不知所措,因为我在每个循环中,需要访问| item |
我使用creator表和HABTM与书籍的关联,从CSV文件中提取writer。原因是有时作者既是插图画家又是编辑,我不希望一个书作者的每一个特定角色都有3张(甚至更多)表格
图书模型(带CSV导入)
然后我为艺术家、编辑等复制了这个
我首先在控制器中尝试了@books,但我需要知道循环中的哪本书。我不确定下一步要学什么,这样我才能去掉丑陋的东西。我看过很多我想去读的东西,但不确定哪一个适合
我有这门课:
class User < ActiveRecord::Base
attr_accessible :email, :password, :password_confirmation
attr_accessor :password
before_save :encrypt_password
validates_confirmation_of :password
validates_presence_of :password, :on => :crea
这是我收到的错误消息
NameError in DiscussionsController#destroy
undefined local variable or method `discussion' for #<DiscussionsController:0x598de20>
我怎样才能解决这个问题?顺便问一下,有必要进行讨论吗?我创造它只是为了毁灭
有关以下注释中的错误的Postcomments表
create_table "postcomments", :force =
我试图在我的模型中设置一个Create操作,它首先根据我拥有的参数检查数据库中是否已经存在一个对象。如果有,我想重定向到该对象的显示页面。如果没有,我想使用参数创建一个对象。我将如何做到这一点?实现这一点的最佳“Rails方式”是什么?我试图通过查找或创建,但最终在我的数据库中出现了重复条目,这正是我试图避免的
以下是我迄今为止的创建操作:
def create
@book = Book.new(book_params)
if @book.save
redirect_to @bo
我正在rails 2.3.5、ruby 1.8.7-p302上工作,我正在尝试安装Desive,因此我在Gemfile中添加了gem“Desive”,然后捆绑安装工作正常,然后我尝试编写脚本/生成Desive:install,但失败了,我不知道原因
bundle install
Fetching gem metadata from https://rubygems.org/...........
Fetching gem metadata from https://rubygems.org/.
当父母没有孩子时,有没有什么技巧可以创建默认的孩子,而当父母有孩子时却不显示?创建后回调本身并不能解决问题。现在,如果用户创建3个子项,而您调用“parent.children”,则结果不仅包含这3个子项,还包含自动创建的子项
更新:只有当没有其他子项时,我才需要自动创建的子项,并且当有子项时,我不希望自动创建的子项包含在“parent.children”的结果中
示例:
我有一个产品模型,有很多变体。客户可以订购变体,因此我们需要一个变体。但有时管理员不想添加变体,认为没有变体的产品就足够了。
对于Rails应用程序,我尝试运行$bundle install。但是,即使在我运行了$gem install bundler之后,我还是收到了相同的消息
事情是这样的:
Run `bundle install` to install missing gems.
Davids-iMac-2:213calendar davidburton$ bundle install
ERROR: Gem bundler is not installed, run `gem install bundler` f
您好,我正在处理一些web应用程序,在将输入表单值保存到数据库之前,首先将其传递到xml表单。但当我传递以下数据时,它不起作用。这样做对吗
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="ht
如果我有以下(简化)模型:
这样的事情是为一个帐户获取帖子的最佳方式吗
posts = []
account.users.each do |user|
posts.merge(user.posts)
end
posts.sort_by_created_at
在过去,我可能会在Posts表中放置一个account_id,因为如果有很多用户,我会担心性能和同步问题,因为有两个account_id(用户和Posts,当account和Posts已经由User:User_id->Posts:acc
任何?、许多?和存在?之间有什么区别?三个人都在检查一张桌子是否是空的
User.exists?
=> false
User.any?
=> false
User.many?
=> false
首先,存在吗?还有,很多?是否通过Rails提供扩展。是否有?她是鲁比
有吗?
有吗?提供多功能性,而不是检查某物是否为空。例如:
%w[ant bear cat].any? { |word| word.length >= 3 } #=> true
我们可以将一个块传递给
我有一个@company的表单,\u,我创建了一个带有常量的下拉列表:
NOTIFY = [['Never', 'never'],['End Of The Day', 'end_of_day']]
<%= f.select(:notify, NOTIFY) %>
NOTIFY=['Never','Never',['End Of The Day','End Of The Day']]
如何将下拉列表的选定值设置为控制器中的@company.notify?将@company.not
尝试使用ruby gems安装rails 3.0.1时出现以下错误
iHAL-2:~ $ gem install rails --version 3.0.1
ERROR: Could not find a valid gem 'rails' (= 3.0.1), here is why:
Unable to download data from https://rubygems.org/ - no such name (https://api.ruby
当用户单击搜索表单上的“搜索”按钮时,是否可以启动自定义操作
我们的应用程序中有一种机制,可以保存应用程序命中的每个URL。在我们的搜索表单中,当单击“搜索”按钮时,将出现搜索结果页面。问题是没有保存搜索结果表单的URL。Back按钮返回搜索页面(用于设置搜索参数),而不是搜索结果页面(因为其URL未保存)
这是型号配置的搜索表:
<h4>Search Form></h4>
<%= simple_form_for @config, :method =&
当在数据库中创建一个新项目时,我还存储了一个链接,可以引用该链接来共享该项目。我正在存储以下变量
self.shareLink = "http://localhost:3000/#{self.slug}"
我在使用典型的根函数时遇到问题,因为它排除了“http://”部分
由于它是硬编码的,我觉得我做错了什么,因为当我最终投入生产时,localhost需要更新
我正在使用Heroku,并开始尝试将self.slug与定义的环境变量连接起来,但是这也不正确,我想知道是否有人可以提供一些见解 试试
我有一个carrierwave上传器chapter_pdf_上传器,通过fog为S3配置。我可以通过以下视图使该资源可供下载——
<% @chapters.each do |chapter| %>
<%= link_to 'download pdf', "#{chapter.chapter_pdf}" %>
.....
.....
这安全吗
我有config.fog\u public=false不,这根本不安全。如果可以使用您提供的直接链接下载给某些用户。然
我正在尝试制作一个只接受有效电子邮件或空白电子邮件的表单。我认为这将是以下几点:
EMAIL_REGEX = /\A[\w+\-.]+@[a-z\d\-.]+\.[a-z]+\z/i OR ""
validates :email, format: { with: EMAIL_REGEX }
或许
EMAIL_REGEX = /\A[\w+\-.]+@[a-z\d\-.]+\.[a-z]+\z/i
BLANK_REGEX =
validates :email, format: { with:
我正在ROR中构建一个web应用程序,为此我需要构建很多模型、连接等。
但是所有的模型基本上都是相同的,与主项有相似的连接模型,迁移也是相同的。我不想一直在后端编写代码,我想在运行时从前端生成代码。
所有模型都有以下属性-id(默认)、name、exists?
所有连接都有。\u may:通过
因此,从前端开始,如果我定义X是一个模型,Y是一个模型,并且在后端是相关的,那么我想创建模型和迁移。然后我可以输入X,Y的数据,它将存储在正确的表中
控制器代码也几乎是标准化的,我只需要传入X,Y,我想让
我有一个扩展了StaticModel::Base的类区域。我用函数设置数据
set_data_file 'db/static/regions.yml'
是的,我得到了我想要的-我有一个静态模型。我可以访问我的数据
Region.find(1)
它起作用了
但是我需要注册这门课
ActiveAdmin.register Region do ... end
我有一个错误-‘未定义的方法列名称’。
我从源代码ActiveRecord中添加了一个方法列名称,但这并不能解决问题,因为我有一个错误(未
我正在为sidekiq使用monit
当我运行monit日志文件时,它显示了错误
[EDT Jun 18 09:50:11] error : 'sidekiq_site' process is not running
[EDT Jun 18 09:50:11] info : 'sidekiq_site' trying to restart
[EDT Jun 18 09:50:11] info : 'sidekiq_site' start: /bin/bash
[EDT Ju
我用ruby编写了以下google analytics实时代码:
# Execute the query
sa_visitCount = client.execute(:api_method => analytics.data.realtime.get, :parameters => {
'ids' => "ga:" + saprofileID,
'metrics' => "ga:activeVisitors",
})
接着是:
send\u事件('sa
当我试图用sidekiq在后台重新索引一些记录时,什么也没发生
afisha.delay(:queue => 'critical').reindex_showings
但是如果我在没有sidekiq的情况下重新索引这些记录,一切都会正常
afisha.reindex_showings
有人能帮忙吗?我怀疑这些更改没有“提交”给Solr。一旦您将更改发送到Solr,它们需要“提交”才能生效(并变得可见)。
在每个Web服务器请求结束时,Sunspot会自动提交您对索引所做的任何更改。但是
我使用Capistrano开发我的网站。
遇到的问题是,每次我在生产环境中使用capistrano部署我的站点时,它都会让我无法将图像上传到生产环境中,这会把我压垮
当我在生产中制作一个déployment时,如何让我将图片上传到生产中?你想确保在deploy.rb中设置:linked_dirs,例如,对于我的一个站点,回形针上传到public/system目录,所以我需要确保我将该目录符号化:
set :linked_dirs, ['log', 'tmp/pids', 'tmp/cache',
我有一些模型,例如Post、User。是否可以仅使用模型Post和模型用户的固定标记列表中的标记?您可以在保存标记之前添加验证,检查标记是否包含在数组中(可以存储在数据库、常量、文件..)。
在视图部分,这取决于您使用的是什么,但假设您使用的是jquery插件,请检查是否有一个插件接受一系列可能的标记,并将其传递给您。例如,这一个(检查前排字部分):
我目前正在我的网站上尝试这一点
因为我想将一些提交的信息存储到我的谷歌表单中,所以每当有人提交表单时
在我的rails中实现了代表您的方法之后,我能够将这些信息保存到我的google工作表中。然而,我有一个严重的问题,如果有超过1人同时提交表单,可能会发生三件事
1两种表格都键入表格中
2其中一个表单键入了两次
3如果3个表单同时运行,则会丢失一个条目
这是我控制器中的ruby定义,当用户点击submit按钮时会触发
def save_googlesheet
session = Google
我试图在Mac(10.13.3)上安装rails,我运行了以下命令:gem install rails,但我一直遇到以下错误:
Ignoring bigdecimal-1.3.4 because its extensions are not built. Try: gem pristine bigdecimal --version 1.3.4
Ignoring bigdecimal-1.3.2 because its extensions are not built. Try: gem pr
Im写入方法,其中用户将布尔值设置为在记录上运行保存,无论是否引发错误
Record.all.each do |record|
if raise_bool.true?
# save the record with raise error
else
# save the record no raise error
end
end
但我不确定如何实现,任何帮助都将不胜感激。您可以使用“保存”来引发错误!或者,可以使用“保存”将错误作为布尔值返回
通常,您总是希望使用sa
每次尝试在rails中更新表时,我都会遇到这个持续性错误
例如,如果schema.rb文件中的代码是:
create_table "books", force: :cascade do |t|
t.string "title"
t.text "description"
t.datetime "created_at"
t.datetime "updated_at"
上一页 1 2 3 4 5 6 ...
下一页 最后一页 共 6429 页