Tag: ruby on rails 3

动态访问命名范围

如果我有3个命名范围,如 class Foo scope :test1, … scope :test2, … scope :test3, … 还有一个function def x(variable) end 其中variable是一个字符串(“test1”,“test2”或“test3”) 如何通过知道变量的值来访问命名范围? 有点像Foo.variable

Rails获取当前登录的Windows用户的用户名

我需要获取当前登录的Windows用户的用户名。 可以轻松完成吗?

ID在url中混淆了

所以我对Ruby on Rails比较陌生,正在建立一个项目管理系统,用于使用该语言在我的大学进行独立研究。 到目前为止,我创建了: 用户可以创建多个项目的区域(http://sofzh.miximages.com/ruby-on-rails/pXOBg.png) 在每个项目中,用户可以创建多个待办事项列表( http://sofzh.miximages.com/ruby-on-rails/FT3no.png ) 在每个待办事项列表中,用户可以创建多个任务,可以标记为完成/不完整(http://sofzh.miximages.com/ruby-on-rails/DMdcN.png) 一切都通过SQLite DB中的外键相关,并且工作相对较好,除了我添加任务时。 虽然任务确实被添加到待办事项列表中,但我被重定向到不正确的URL。 我创建了与我的项目管理系统分开的待办事项列表应用程序,只是为了看看我如何创建它以及重定向和一切工作正常,但将其实现到我的项目中已经certificate有点麻烦。 以下是遇到的问题: http : //i.imgur.com/Axuf2.jpg 。 URL中的链接应为http:// localhost:3000 / projects / 2 / lists / 15 ,因此ID会混淆。 显示的是http:// localhost:3000 / projects / 15 / lists / 14 ,其中15是列表的ID,而不是项目的ID,14是任务的ID,而不是列表。 我相信问题出在我的tasks_controller.rb中 ,其中包含以下内容: class TasksController < ApplicationController attr_accessor :completed before_filter :find_list respond_to :html, :xml, :js def […]

在编写“新”方法时,继续获得“无法找到没有ID的Model_name”

作为背景,我目前有三个模型, School , Course和Section ,他们都是一对多的关系(学校has_many课程,课程has_many部分,相应的belongs_to关系也建立在模型中)。 我还有以下资源(稍后要设置的排除项): resources :schools do resources :courses end resources :sections #not part of the nest 虽然sections可以作为嵌套资源的一部分,但我保留了它,因为Rails指南强烈建议嵌套只有一层深。 所以,我的麻烦在于创建一个新的部分(在SectionsController ),并通过course_id将其链接到课程 def new @course = Course.find(params[:id]) #this line results in an error @section = @course.sections.new end 第一行总是引发“无法找到没有ID的课程”错误,尽管尝试了各种不同的使用组合:id,:course_id等,但我无法通过该错误。由于Course是嵌套资源,因此还有别的东西让我失踪? 谢谢你的帮助! 运行rake routes ,输出如下: sections GET /sections(.:format) sections#index POST /sections(.:format) sections#create new_section GET /sections/new(.:format) sections#new edit_section GET […]

在启动rails webrick server时报告错误

我有一个在rails 2.3.2上运行的应用程序,现在我将我的rails版本升级到3.0.3 在我尝试通过键入rails server启动应用程序rails server 我得到一个我应该传递给命令的参数列表。 这表明服务器无法成功启动。 但是,在哪里可以获得启动rails服务器时遇到的错误列表? 此外,我正在使用RVM来管理rails版本。 但是,即使更改了当前运行的导轨版本,Radrails仍然使用旧版本的导轨。 如何指示radrails使用当前的系统rails版本? —> rails server exists exists app/controllers exists app/helpers exists app/models exists app/views/layouts exists config/environments exists config/initializers exists config/locales exists db exists doc exists lib exists lib/tasks exists log exists public/images exists public/javascripts exists public/stylesheets exists script/performance exists test/fixtures exists test/functional exists test/integration exists test/performance […]

在Simple Form Association中指定值

我正在尝试选择特定记录但是在尝试保存时, employee_id以空值保存,并且没有任何条件它正常工作,有什么方法可以解决这个问题吗? true).map(&:full_name) %>

用于测试DELETE请求的Rspec类似代码给出了不同的结果

继迈克尔哈特尔关于Ruby on Rails的书之后,我似乎无法理解为什么其中一个测试通过而另一个测试失败,考虑到它们大致相同。 这源于在练习9.6-9中测试UsersController#destroy 。 这是我的spec/requests/user_pages_spec.rb : require ‘spec_helper’ describe “User pages” do subject { page } describe “index” do let(:user){ FactoryGirl.create(:user) } #before/after ALL TESTS, not USERS before(:all){ 30.times {FactoryGirl.create(:user) }} after(:all) {User.delete_all} #before EACH TEST, no user before(:each) do valid_signin user visit users_path end describe “delete links” do it { should_not have_link(‘delete’) } […]

Rails erb预处理不在开发模式下进行

无论出于何种原因,动态样式的第一次尝试在下面的行中得到了一个Sass :: SyntaxError。 看起来erb没有被预处理。 /* app/assets/stylesheets/variables.css.scss.erb */ $headerHeight: ; 它处于开发模式。 知道是什么原因引起的吗? 以下是与资产相关的配置选项,以防有助于: # Application config.assets.enabled = true config.assets.initialize_on_precompile = true config.assets.version = ‘1.1’ # Development config.assets.compress = false config.assets.debug = false

nested_form没有保存到模型Rails 3

虽然我无法将表单数据保存到模型中,但我认为我正处于以下方面。 我有2个型号 class Prediction < ActiveRecord::Base attr_accessible :home_team, :away_team, :home_score, :away_score, :fixtures_attributes has_many :fixtures accepts_nested_attributes_for :fixtures end class Fixture < ActiveRecord::Base attr_accessible :home_team, :away_team, :fixture_date, :kickoff_time belongs_to :predictions end 为了创建一个新的预测记录,我有一个表单可以获取所有的灯具并预先填充表单,用户只需在每个团队旁边添加分数 <%= f.fields_for :fixtures, @fixtures do |ff| %> VS 然后我让我的控制器来处理新的/创建动作,我认为这是我可能会摔倒的地方 class PredictionsController ‘Predictions Submitted Successfully’ else render ‘new’ end end end 最后我的路线 resources :predictions resources :fixtures […]

设计after_sign_in_path_for,但不是其他的

我真的在这里错过了一些东西。 我已经阅读了很多关于设计重定向的内容(对于大多数人来说似乎很难实现……)但在我的情况下我真的不明白。 有时我读到after__path_for(resource)应该在ApplicationController ,有时它被提到是在特定的控制器中,覆盖了设计控制器。 我宁愿在我的ApplicationController使用它们,因为它困扰我创建更多的控制器只是为了重定向,但如果最终不可能,我不会坚持…… 这是交易: 我在我的ApplicationController :(以及其他一些,但这对于该示例来说已经足够了) def after_update_path_for(user) flash[:notice] = ‘Successfully updated password’ edit_user_path(user) end def after_inactive_sign_up_path_for(user) flash[:notice] = ‘Welcome! Please follow the steps!’ me_new_path end def after_sign_up_path_for(user) flash[:notice] = ‘Welcome! Please follow the steps!’ me_new_path end def after_sign_in_path_for(user) if user.sign_in_count == 1 me_new_path else root_path end end 而疯狂的是,调用了after_sign_in_path_for ,而不是其他的。 就像用户注册时一样, if user.sign_in_count […]