小编Ale*_*lev的帖子

如何使用Rails 3中的Capybara单击具有相同文本的第二个链接?

在视图文件中,我有:

= link_to 'View', post
= link_to 'View', comment
Run Code Online (Sandbox Code Playgroud)

在spec文件中(我正在使用Capybara):

click_on 'View'
Run Code Online (Sandbox Code Playgroud)

它点击第一个链接,但我希望它点击第二个链接.我该怎么做?

ruby-on-rails capybara ruby-on-rails-3

35
推荐指数
5
解决办法
4万
查看次数

如何在Rails 3中使用Capybara从选择框中选择日期?

我正在使用RSpec和Capybara在Rails 3项目中为控制器编写规范,我想从选择框中选择当前日期.我试过了:

select Date.today, :from => 'Date of birth'
Run Code Online (Sandbox Code Playgroud)

但规格失败,我得到错误:

失败/错误:选择Date.today,:from =>'出生日期'NoMethodError:未定义的方法`to_xpath'for Mon,2011年7月18日:日期

怎么解决?

PS在视图文件中我使用simple_form_for标记,选择框由代码生成:

f.input :date_of_birth
Run Code Online (Sandbox Code Playgroud)

rspec ruby-on-rails date capybara ruby-on-rails-3

23
推荐指数
5
解决办法
2万
查看次数

如何在Rails 3中生成带尾部斜杠的链接?

我将现有的网站从PHP移植到Ruby on Rails 3,我必须保持网址不变.

我有路线:

get 'companies/' => 'companies#index', :as => :companies
Run Code Online (Sandbox Code Playgroud)

在视图文件中,我有:

link_to 'Companies', companies_path
Run Code Online (Sandbox Code Playgroud)

这会生成URL"http://website.com/companies"而不是"http://website.com/companies/".

我希望网址末尾的斜线.可能吗?

ruby url ruby-on-rails slash ruby-on-rails-3

13
推荐指数
2
解决办法
5919
查看次数

CarrierWave 和正确的文件扩展名取决于其内容

如何让 CarrierWave 根据文件内容添加正确的扩展名?例如,如果我上传文件“logo”(不带扩展名的 PNG 文件),CarrierWave 应该将其保存为“logo.png”。文件“img.gif”(扩展名不正确的JPG文件)应分别保存为“img.jpg”。

ruby ruby-on-rails rmagick ruby-on-rails-3 carrierwave

5
推荐指数
1
解决办法
6245
查看次数

如何使Rails不忽略路由中的尾部斜杠?

例如,我在routes.rb中有死记硬背:

get 'companies/' => 'companies#index', :as => :companies
Run Code Online (Sandbox Code Playgroud)

可以使用尾部斜杠生成链接(如"http://website.com/companies/"):

link_to 'Compaines', companies_path(:trailing_slash => true)
Run Code Online (Sandbox Code Playgroud)

但是如果Rails默认存在于路由中,我希望Rails生成带尾随斜杠的链接:

link_to 'Companies', companies_path
Run Code Online (Sandbox Code Playgroud)

现在它产生类似"http://website.com/companies"的东西.怎么解决?

url ruby-on-rails slash ruby-on-rails-3

2
推荐指数
1
解决办法
1974
查看次数

使用MetaSearch通过Rails 3中的关联进行搜索

我在我的Rails 3项目中使用了MetaSearch gem.

我有两个型号:

class Company < ActiveRecord::Base
  belongs_to :city
end

class City < ActiveRecord::Base
  has_many :companies
end
Run Code Online (Sandbox Code Playgroud)

我在CompaniesController中有动作:

def index
  @search = Company.search(params[:search])
  @companies = @search.all
end
Run Code Online (Sandbox Code Playgroud)

该动作的视图包含:

= form_for @search do |f|
  = f.label :city_id_equals
  = f.select :city_id_equals
  = f.submit 'Search'
Run Code Online (Sandbox Code Playgroud)

我想要一个包含城市名称的列表,以及按城市搜索公司的机会.但我没有城市的名称和ID,而是"City:0x00000102a20488",搜索功能不正常.

我认为错误在于:":city_id_equals".如何使其正确?

ruby-on-rails associations meta-search ruby-on-rails-3

2
推荐指数
1
解决办法
1737
查看次数