小编Gan*_*war的帖子

在控制器中创建一个link_to

我需要将通知传递给控制器​​的视图,我想如果可以创建一些链接也通知.

我的控制器:

format.html { redirect_to purchase_order_headers_path, notice: 'PO already has RR with RR ID: ' + rr.rr_id + ', void RR first.' }
Run Code Online (Sandbox Code Playgroud)

有什么办法让我可以这样做,所以这[rr.rr_id]将成为一个链接,所以当用户点击它将进入它的页面?因为如果放在控制器上link_to会返回错误"undefined method".

谢谢.

ruby-on-rails link-to

12
推荐指数
2
解决办法
7979
查看次数

Ruby On Rails Mongoid Group By

对于按日期分组,我使用了group_by方法.

Example: Product.all.group_by {|d| d.created_at } # return Hash 
Run Code Online (Sandbox Code Playgroud)

但是kaminari不支持哈希.我使用Mongoid和我需要按日期与页面导航(kaminari)组.怎么样?

ruby group-by ruby-on-rails mongoid

6
推荐指数
1
解决办法
3555
查看次数

Rails有两个不同的数据库

:我已经使用了两个不同的数据库为我的Rails应用程序MongoDBMsSQL使用Mongoid,并activerecord-sqlserver-adapter分别适配器.一切都很好,但生成模型时出现问题.

问题是"我怎样才能生成与之相关MongoDBMsSQL不同的模型?"

例如:我要生成People新型涉及MongoIDAnimal与模型MsSQL.当我用命令生成时:rails g model Animal name:string它生成与mongoid相关的模型.如何使用与MsSQL相关的ActiveRecord生成模型Animal.
请帮我.谢谢

sql-server ruby-on-rails mongodb mongoid tiny-tds

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

Rails send_data 返回 HTTP 错误 406

我在从数据库导出为 XLS 时遇到了一些问题。我使用 gem to_xls,在遵循文档后,我遇到了这个错误,我不知道如何克服并启动文件的下载:

控制器:

def export
  @subscribes = Subscribe.all
  respond_to do |format |
    format.xls { send_data@subscribes.to_xls, disposition: 'attachment', : filename = > 'Subscribes.xls' }
  end
end
Run Code Online (Sandbox Code Playgroud)

我的 MIME 文件

Mime::Type.register "application/vnd.ms-excel", :xls
Run Code Online (Sandbox Code Playgroud)

因此,我在完整标头中遇到的错误:

Request URL:https://localhost:3000/subscribes/export
Request Method:GET
Status Code:406 Not Acceptable

Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Encoding:gzip,deflate,sdch
Accept-Language:fr-FR,fr;q=0.8,en-US;q=0.6,en;q=0.4
Connection:keep-alive
Host:localhost:3000
User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.95 Safari/537.36

Cache-Control:no-cache
Connection:close
Content-Type:text/html; charset=utf-8
Server:thin 1.5.1 codename Straight Razor
Strict-Transport-Security:max-age=31536000
X-Request-Id:a5be7889994f1035818d6a554f991636
X-Runtime:0.012001
X-UA-Compatible:IE=Edge
Run Code Online (Sandbox Code Playgroud)

谢谢你帮助我:)

ruby xls ruby-on-rails http download

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

查找去年的月份名称

在我的ruby代码中,我想显示过去1年的所有月份名称.例如,当前日期是"April 2013"我要显示所有月份名称"May 2012","April 2013"例如["May", "June", .., "April"].对此最好的想法是什么?

我试过了:

<%= (1.year.ago.to_date.strftime("%B")..Date.today.strftime("%B")).map %> { |a| a } %>
Run Code Online (Sandbox Code Playgroud)

但它给出了:["April"].

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

3
推荐指数
2
解决办法
1384
查看次数

如何跟踪网站上的时间

在我的rails应用程序中,我想跟踪单个用户在网站上花费的总时间.我做过研究,但无法得到完美的解决方案.
这怎么可能.

javascript ruby ruby-on-rails time-tracking coffeescript

3
推荐指数
1
解决办法
7362
查看次数

如何通过ruby on rails将固定数据分配给数据库

在rails上的ruby中,我们通常通过控制台在模型中分配数据.喜欢@model = Model.attribute (data).喜欢@user = User.create("John")

我的问题是,如果我想修复数据,我可以通过模型或控制器来完成吗?因此,如果我想更改细节,我不必在控制台中检查和查找.

例如,我只需要5个用户和5个用户,所以我在模型中设置的user_id = 1是John user_id = 2is David ...等.我能这样做吗?怎么样?

ruby ruby-on-rails

3
推荐指数
1
解决办法
112
查看次数

rails设计确认电子邮件

我正在使用设计进行身份验证并能够发送确认电子邮件.我想知道是否有任何配置可用于在一段时间后在电子邮件中过期确认链接?
提前致谢.

ruby-on-rails confirmation-email devise

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

设计首次使用rails登录

如何在我的自定义会话控制器上确定该用户是第一次登录,我希望能够创建会话并重定向到welcome#index第一次将其重定向到root_url.

我拥有的代码如下

class MysessionsController < Devise::SessionsController
  def create
    self.resource = warden.authenticate!(auth_options)
    set_flash_message(:notice, :signed_in) if is_navigational_format?
    sign_in(resource_name, resource)
    respond_with resource, :location => after_sign_in_path_for(resource)    
  end
  protected
  def after_sign_up_path_for(resource)
    "http://google.com"

  end 
end
Run Code Online (Sandbox Code Playgroud)

我知道我需要自定义after_sign_up_path_for(resource)我想要的但我无法确定如何确定用户之前是否登录过设计

ruby ruby-on-rails devise ruby-on-rails-3

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

sinatra javascript调用

在rails中,可以设置:remote => true对Web应用程序进行远程调用。然后,人们可以.js.erb对变更元素做出回应。我将如何在Sinatra中创建它?我想对资源进行远程删除,如果成功,请更新Dom,否则抛出错误。

javascript ruby ruby-on-rails sinatra ruby-on-rails-3

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

当我访问控制器中的不同操作时,实例变量会重置吗?

我认为@user是一个实例变量,应该在访问 后设置localhost://users/1,现在如果我导航到localhost://users/new,为什么@user是 nil?

class UsersController < ApplicationController
  def new
    # normally you would create a new model and assign it to the instance variable,
    # but if I comment it out, why is it nil instead of keeping the value from show action?
    # @user = User.new
  end

  def show
    @user = User.find(params[:id])
  end
end
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails

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

Rails - 基于对象值的link_to路径

我在索引视图中有一个User对象列表.对于每个用户,我显示一个带有link_to调用的名称,用于编辑用户,如下所示:

<% @users.each do |u| %>
  <%= link_to u.name, edit_user_path(u) %><br/>
<% end %>
Run Code Online (Sandbox Code Playgroud)

我想根据用户的角色属性(例如员工,经理等)使用不同的编辑路径.我在路线上有edit_employee_path,edit_manager_path等等.

动态确定第二个参数的最佳方法是link_to什么?我可以用一堆丑陋的if/else代码破解它,但我想用最惯用的Rails方式来做.

ruby-on-rails

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

after_update回调不会更新属性

美好的一天...我已经为将要更新的特定列实现了 after_update 回调,在该列更新后,回调的目的是将新更新的值添加到另一列,即

class Product < ActiveRecord::Base
after_update :update_stock, :if => :produced_changed?

private 

def update_stock
    self.stock = self.stock + self.produced 
end     
end
Run Code Online (Sandbox Code Playgroud)

当我运行 Rails 控制台并运行“Product.update generated:450”时,stock 列将自动添加新值。即它工作完美,但是当我尝试从“视图/控制器”更新时,它根本不起作用。

请问有什么原因吗?

2.2.4 :004 > h
 => Product id: 1, name: "MAC Air Filter", partnumber: 33440, description: "Air filter", **stock: 3440**, created_at: "2016-04-08 11:38:58", updated_at: "2016-04-19 20:33:00", **produced: 33** 

2.2.4 :006 > h.update **produced:3000**
   (0.1ms)  SAVEPOINT active_record_1
  SQL (1.4ms)  UPDATE "products" SET "produced" = ?, "updated_at" = ? WHERE "products"."id" = ?  [[**"produced", 3000**], …
Run Code Online (Sandbox Code Playgroud)

ruby mysql activerecord ruby-on-rails

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