Tag: 的Ruby on 轨道

Rails 3.1 – 如何使用自定义路由正确重定向

我有一个带有’customURL’字段的Pages模型。 我可以在’/:customurl’上进行页面#show。 但是因为我已经在路线中定义了页面显示方式,我的创建操作现在会将成功重定向到错误的路线。 我应该更改为最干净利落地正确修复重定向,以便在保存时指向’/:customurl’? 控制器: def create @page = Page.new(params[:page]) respond_to do |format| if @page.save format.html { redirect_to page_url, notice: ‘Page was successfully created.’ } format.json { render json: @page, status: :created, location: @page } else format.html { render action: “new” } format.json { render json: @page.errors, status: :unprocessable_entity } end end end 路线: resources […]

Rails 2.3.X – 在呈现并返回请求后执行代码?

在请求被呈现并返回给请求者之后,在rails 2.3.X中是否可以启动一个新的命令链? 我需要该function才能在另一端使用异步API:他们期望对他们的请求做出响应,在响应完成后,我的rails应用程序应该向他们发送新的http请求(将内容发布到他们的API)。 .. 这有什么可能性? 有什么像after_render钩子? 我应该使用线程或后台任务吗?如何才能完成? 我会很高兴一些解决方案:-) 亲切的问候 更新:应在执行其他调用之前将返回代码(例如200)发送给请求者

为什么Rails想要为JSON PUT请求返回“head:no_content”?

我跑完之后 rails generate scaffold User Rails 3.2.11中用于更新用户的生成的控制器function如下所示: def update @user = User.find(params[:id]) respond_to do |format| if @user.update_attributes(params[:user]) format.html { redirect_to @user, notice: ‘User was successfully updated.’ } format.json { head :no_content } else format.html { render action: “edit” } format.json { render json: @user.errors, status: :unprocessable_entity } end end end 我很好奇的是返回head :no_content以获得成功的JSON更新请求。 我做了一些谷歌搜索,因为我猜这是某种RESTful属性,不返回更新的对象,但我找不到任何声称是这种情况。 为什么这是默认值,而不是在更新后返回User对象的JSON表示?

麻烦新的rails应用程序

我刚刚创建了一个新的rails应用程序(在CL上,使用rails new),我在4.2.6,但似乎在我可以对应用程序执行任何操作之前我遇到了错误。 第一… /config/environments/development.rb:53:in `block in ‘: uninitialized constant ActiveSupport::EventedFileUpdateChecker (NameError) 一旦我评论出来…… /config/initializers/new_framework_defaults.rb:15:in `’: undefined method `to_time_preserves_timezone=’ for ActiveSupport:Module (NoMethodError) 一旦被评论出来…… /config/initializers/new_framework_defaults.rb:21:in `’: undefined method `halt_callback_chains_on_return_false=’ for ActiveSupport:Module (NoMethodError) 最后… .gem/ruby/2.2.3/gems/actionmailer-4.2.5/lib/action_mailer/base.rb:569:in `method_missing’: undefined method `perform_caching=’ for ActionMailer::Base:Class (NoMethodError) 我可以在Google上看到的所有内容都表明这些与Rails 5有关。 我不确定如何解决它们,或者如何创建仍然特定于4.2.6的应用程序。

RoR:检查上传的文件

我需要在上传文件保存到文件系统之前检查它们的位。 PHP的文档有一个很好的页面,告诉我我可以使用哪些属性( http://us3.php.net/manual/en/features.file-upload.post-method.php ),但我可以’找到类似于Ruby和/或Rails的东西。 我也尝试记录上传的JSON格式的字符串,但这只是给我一个冗余的UTF-8错误。 我想不出任何其他的尝试。 任何人都可以提供任何见解或指向正确的地方吗? 谢谢。 更新:我在OS X(Leopard)上运行Apache 2.2.11,以防Peter正确(见下文)。 更新:如果有帮助,我的输入参数记录为”upload”=># 。 我只是不确定如何访问它以获得它的“部件”。

如何更新数千条记录

我必须根据出生日期列中的值更新年龄列。 有数千条记录需要更新。 我如何使用rails执行此操作? 这是正确的方法吗? User.update_all(:age => some_method); def some_method age = Date.today.year – dob.year end

Ruby On Rails自定义ID

嗨我想要一个表的自定义ID,而不是使用默认的auto_increment。 那可能吗? 我转过身了:id => false后来我创建了一个t.column:id,:bigint但是当我创建一个新记录时,id被设置为NULL 反正有没有绕过这种行为。 我可以将我的主键设置为字段uid(它实际上是facebook id)但通常它会因为关系通常查找id字段而中断

是否有内置的方法来重命名整个脚手架?

我正在使用Rails 3.2,并开始使用脚手架并从中构建,但已经意识到我需要重命名整个脚手架(Model,View,Controller, db:migrate等)。 是否有内置的方法来执行此操作,还是应该手动执行此操作?

rake资产之间的差异:预编译和rake资产:clobber

任何人都可以告诉我rake资产之间的区别:预编译和rake资产:clobber。 真是一个很大的混乱。

如何为wrap_parameters添加额外的虚拟属性

我有一个带有一些虚拟属性的模型,它们包含在我的表单中并被提交给控制器,但我无法获取虚拟属性(SKU)来包装在模型哈希中 {“name”=>”Productname”, “description”=>”Description”, “sku”=>”ak0001”, “product”=>{“name”=>”Productname”, “description”=>”Description”}} 我可以使用wrap_parameters来覆盖它,但是我必须将所有属性(虚拟和非虚拟属性)添加到数组中,我不能只将虚拟属性添加到现有的wrap参数中吗? wrap_parameters Product, :include => [:sku, :name, ..etc…]