我需要将通知传递给控制器的视图,我想如果可以创建一些链接也通知.
我的控制器:
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".
谢谢.
对于按日期分组,我使用了group_by方法.
Example: Product.all.group_by {|d| d.created_at } # return Hash
Run Code Online (Sandbox Code Playgroud)
但是kaminari不支持哈希.我使用Mongoid和我需要按日期与页面导航(kaminari)组.怎么样?
:我已经使用了两个不同的数据库为我的Rails应用程序MongoDB和MsSQL使用Mongoid,并activerecord-sqlserver-adapter分别适配器.一切都很好,但生成模型时出现问题.
问题是"我怎样才能生成与之相关MongoDB或MsSQL不同的模型?"
例如:我要生成People新型涉及MongoID并Animal与模型MsSQL.当我用命令生成时:rails g model Animal name:string它生成与mongoid相关的模型.如何使用与MsSQL相关的ActiveRecord生成模型Animal.
请帮我.谢谢
我在从数据库导出为 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代码中,我想显示过去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"].
在我的rails应用程序中,我想跟踪单个用户在网站上花费的总时间.我做过研究,但无法得到完美的解决方案.
这怎么可能.
在rails上的ruby中,我们通常通过控制台在模型中分配数据.喜欢@model = Model.attribute (data).喜欢@user = User.create("John")
我的问题是,如果我想修复数据,我可以通过模型或控制器来完成吗?因此,如果我想更改细节,我不必在控制台中检查和查找.
例如,我只需要5个用户和5个用户,所以我在模型中设置的user_id = 1是John user_id = 2is David ...等.我能这样做吗?怎么样?
我正在使用设计进行身份验证并能够发送确认电子邮件.我想知道是否有任何配置可用于在一段时间后在电子邮件中过期确认链接?
提前致谢.
如何在我的自定义会话控制器上确定该用户是第一次登录,我希望能够创建会话并重定向到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)我想要的但我无法确定如何确定用户之前是否登录过设计
在rails中,可以设置:remote => true对Web应用程序进行远程调用。然后,人们可以.js.erb对变更元素做出回应。我将如何在Sinatra中创建它?我想对资源进行远程删除,如果成功,请更新Dom,否则抛出错误。
我认为@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) 我在索引视图中有一个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方式来做.
美好的一天...我已经为将要更新的特定列实现了 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-on-rails ×13
ruby ×9
devise ×2
javascript ×2
mongoid ×2
activerecord ×1
coffeescript ×1
download ×1
group-by ×1
http ×1
link-to ×1
mongodb ×1
mysql ×1
sinatra ×1
sql-server ×1
tiny-tds ×1
xls ×1