Tag: ruby on rails 3

无法在ruby中转储匿名类Class

任何人都可以解释这个exception在ruby中的含义。 TypeErrorexception:无法转储匿名类Class 代码示例 Class X_controller before filer: validate, :only => [:meth1] def meth1 y.new.send_later(:issue1) #throws me exception end def meth2 y.new.send_later(:issue1) #works end private def valiadate y.new.send_later(:issue1) #throws me exception end end class y include x::z def issue1 end end module x::z def send_later(meth,*args) end end

无法安装Nokogiri

当我在Ubuntu 12.1上运行sudo gem install nokogiri时,我已经回来了。 怎么了,怎么解决? jason@jason:~/ror/clss$ sudo gem install nokogiri Building native extensions. This could take a while… ERROR: Error installing nokogiri: ERROR: Failed to build gem native extension. /usr/bin/ruby1.9.1 extconf.rb /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require’: cannot load such file — mkmf (LoadError) from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require’ from extconf.rb:5:in `’ Gem files will remain installed in /var/lib/gems/1.9.1/gems/nokogiri-1.5.5 for […]

Ruby发送(attribute.to_sym)Rails方法

我正在使用Ruby 1.9.2并且需要遍历表的所有值以确保所有内容都采用UTF-8编码。 有很多列,所以我希望能够使用column_names方法遍历所有列并将值编码为UTF-8。 我认为这可行: def self.make_utf for listing in Listing.all for column in Listing.column_names column_value_utf = listing.send(column.to_sym).encode(‘UTF-8’) listing.send(column.to_sym) = column_value_utf end listing.save end return “Updated columns to UTF-8” end 但它返回一个错误: syntax error, unexpected ‘=’, expecting keyword_end listing.send(column.to_sym) = column_value_utf 我无法弄清楚如何使这项工作正常。

如何从其他网站获取元数据并在我的ruby轨道上显示?

使用FB或Google +时,我可以将任何网站的链接粘贴到状态更新框中,它会立即加载有关该网站的信息,并可选择点击缩略图。 我怎样才能在轨道上的ruby中实现这一目标? 我的所有搜索似乎都提出了如何执行此操作的php方法。 为了获取video数据信息,我使用Ruby Open Graph Protocol gem。 有没有像FB和G +那样抓取数据的东西? 如果没有标准的方法,这是在rails / ruby​​中完成的,如果是这样的话……这是怎么做到的? 亲切的问候

在Rails 3.x中,如何为引用父资源的嵌套资源设计视图?

假设我有一个嵌套资源,如Rails指南示例: http : //guides.rubyonrails.org/routing.html#nested-resources resources :magazines do resources :ads end 这会将对/ magazine / newsweek / ads的调用路由到AdsController#index。 它需要URL中的magazine_id …我应该如何创建基于用于Ads#index的模板的视图,还包括父资源的上下文? 例如,拥有广告的所有父资源都会包含这些广告的表格列表。 但我希望视图的顶部包含每个杂志的样板信息。 如果/ magazines / newsweek / ads直接转到通用的AdsController#index,如何让#index视图意识到需要包含从Magazine模型生成的样板? 如果其他模型与广告有关系(TelevisionShow has_many:ads),我希望AdsController #index对这些也有不同的反应。 编辑: 这就是我过去通过MagazinesController完成这些事情的方式。 假设我想要一个单独的杂志#show action …路线将是: resources :magazines resources :ads get “magazines/:id/ads”, :controller=>”companies”, :action=>”ads” 控制器将是: class MagazinesController < ApplicationController def show … end def ads … end […]

多部分表单在Rails中不起作用

我一直在尝试在Rails中创建一个多部分表单,这很疯狂,但我真的不确定如何解决这个问题。 目前,以下是我视图中的代码: {:multipart => true } do |f| %> 但是,返回的HTML如下: 对于我的生活,我无法弄清楚为什么表单不会显示为多部分。 此特定表单用于使用回形针将图像上传到AWS,但每次都失败,可能是因为它不是多部分表单。 救命! :)谢谢。

用! 在Ruby中

有人可以解释用法! 在以下ruby示例中: def show @article = Article.find(params[:id]) respond_to do |format| format.html { render :layout => ! request.xhr? } end end 谢谢

使用GoogleVisualr创建图表

我有一个示例应用程序,用于试用GoogleVisualr 我正在尝试创建一个折线图,其中x轴为日期时间,y轴为等级。 因此,基于“created_at”和评级的评级图表的时间序列。 我的控制器: Product.all.each do |p| data_table = GoogleVisualr::DataTable.new data_table.new_column(‘datetime’, ‘Date’) data_table.new_column(‘number’, ‘Rating’) data_table.add_rows([ [p.created_at, p.rating] ]) opts = { :width => 800, :height => 480, :title => ‘Graph of Ratings overtime’, :legend => ‘bottom’ } @chart = GoogleVisualr::Interactive::LineChart.new(data_table, opts) 数据: +—-+—————————————————————+——–+————————-+————————-+ | id | title | rating | created_at | updated_at | +—-+—————————————————————+——–+————————-+————————-+ […]

嵌套模型测试:找不到表’*’错误。

我正在尝试对一个working大型代码库运行RSpec(我对Rails相对较新),但它在这一点上失败了; 我敢打赌它与FactoryGirl定义有关。 模型概述: class User {:approved => true} has_many :friendships, :class_name => “User”, :source => :friend, :through => :friends # … 测试方法: # models/user.rb def add_friend(user_id, friend_id) @friendship = self.friends.new({:user_id => user_id, :friend_id => friend_id}) return false unless @friendship.save end FactoryGirl工厂: FactoryGirl.define do factory :user, :class => User do |f| # … end factory :friend, […]

在设备中的两个Web应用程序之间共享会话

我有多个申请。 我希望能够使用cookie_store在它们之间共享会话。 申请A: before_filter :authenticate_from! def authenticate_from! unless session[‘warden.user.user.key’].nil? @user=User.find_or_initialize_by_id(ky[1]) sign_in @user end end 它可以工作,但无法识别应用程序B会话。 我该怎么办?