草庐IT

After_Create

全部标签

ruby-on-rails - Rails 表单发布到/new 而不是/create?

我有一个使用Rails3.1.x应用程序的简单表单View:prohibitedthismodelfrombeingsaved:Amount:当在此处点击提交时,它会发布到/mymodels/new。我如何强制它为mymodels_controller.rb执行正确的创建操作? 最佳答案 选项1:遵循约定并向form_for助手提供一个新的、未保存的记录。您可能已经在@mymodel上拥有这样的对象,设置在您的Controller的new操作上。所以下面的代码片段应该能很好地工作:如果它不起作用,您可以像这样在您的操作上设置@mym

ruby-on-rails - 将变量传递给模型 after_initialize 方法

我有以下(高度简化的)模型,它使用will_paginateclassSearch1endend我的表演Action中的Controller代码是@search=Search.new(params[:search])一切正常,但请注意我将页码硬编码为1,问题是将params[:page]值传递给after_initialize方法,有人可以建议一种优雅的方法吗?谢谢 最佳答案 在初始化方法中添加一个页面参数(或者更好的选项散列参数):classSearchdefinitialize(search,options={})@option

ruby-on-rails - ActiveRecord : If exists then delete else create 的最佳方式

我有这条路线可以为某个提示创建收藏夹:deffavorite@tip=Tip.find(params[:id])Favorite.create(user:current_user,tip:@tip)redirect_to:action=>"show",:id=>@tip.idend我希望它更像一个开关。所以:如果用户对某个提示的收藏已经存在,那么它应该删除这个收藏。如果它是用户和提示的新组合,它应该使用这些值创建一个新的收藏夹。最好和最漂亮的方法是什么? 最佳答案 试试这个,我认为这是最简洁的解决方案:deffavorite#Sin

ruby-on-rails - 使用 rake db :create 创建 Rails DB 时出错

我正在尝试使用rails'gettingstartedguide运行我的第一个“helloworld”rails示例在我的OSX10.6.3盒子上。当我执行第一个rakedb:create命令时(我使用的是mysql),我得到:simon@/Users/simon/source/rails/blog/config:rakedb:create(in/Users/simon/source/rails/blog)Couldn'tcreatedatabasefor{"reconnect"=>false,"encoding"=>"utf8","username"=>"root","adapter

ruby - 如何区分由 first_or_create 搜索或创建的

我想区分由first_or_create搜索或创建。record=MasterRecord.where(:name=>'test_data').firest_or_create#andiwantdifferentiatesearchedorcreatedlikethis.#butthereisnocreated_record?methodifrecord.created_record?render:status=>200,:json=>record.to_jsonelserender:status=>409,:json=>record.to_jsonend我该怎么做?

ruby-on-rails - rails : validation fails with before_create method on datetime attribute

ApiKey.create!抛出验证错误:expires_at不能为空。classApiKey有属性t.datetime:expires_at但是,如果删除了验证,则before_create方法会在创建时起作用。这是为什么?-此模式适用于其他属性,例如access_tokens(字符串)等 最佳答案 我会说因为before_create在验证之后运行,也许您想将before_create替换为before_validation注意:如果你像那样留下回调,它会在你运行valid?或save或任何时候设置到期日期触发验证的事件记录方法

ruby-on-rails - Ruby on Rails 表单 : how to create a CheckBox Table (or List)

在RubyonRails中创建一组相关复选框的最佳方法是什么?在Turbogears使用的ToscaWidgets库中,您可以执行以下操作:twf.CheckBoxTable('arbitrary_numbers',num_cols=5,options=['1','2','3','4','5','6','7','8','9','10']),这会在两行中生成10个带标签的复选框,每行5个复选框。我试图在Rails中复制它,而不仅仅是创建10个单独的复选框控件。没什么大不了的,只是希望有一个干净的方法来做到这一点。 最佳答案 像这样::

ruby-on-rails - 在 ActiveRecord 中使用 first_or_create 的两种不同方式的区别

我是ActiveRecord的新手,所以这可能是一个愚蠢的问题:我的方法是这样写的:sample_organizations=['37Signals','FogCreek']sample_organizations.each{|item|Organization.first_or_create(name:item,time_zone:'Central')}它没有用,我希望它能遍历我的组织数组并将它们全部插入到数据库中,但它只插入了第一行。然后有人建议像这样更改它并且这个方法有效,但我想知道是否有人可以解释第一种方法中的错误,以便我可以了解我在做什么/假设错误。所以这个有效:sample

ruby-on-rails - Rails 错误 : "Undefined method ` call' for "result == false":String"error in create method

当我尝试在我的应用程序中使用图像创建列表时,会抛出此错误:undefinedmethod`call'for"result==false":String.这个错误发生在我安装devisegem之后。但是设计不应该与创建新列表有任何关系吗?该应用的其他部分工作正常,我可以创建没有图像的新列表。错误信息NoMethodErrorinArtistsController#createundefinedmethod`call'for"result==false":String它指向的方法是第164行的ActiveSupport中的回调方法https://sourcegraph.com/github

ruby-on-rails - 你能做一个 :order in ruby after a find?

是否可以在ruby​​/rails中进行查找后对结果集进行排序?例如,是否可以做这样的事情警告:不起作用iftype==1@items=mycompany.itemselse@items=myhome.itemsend@items=@items:order=>"created_at"我认为这样的事情应该是可能的,但我对RoR还是很陌生,似乎无法在谷歌上找到任何东西。 最佳答案 您应该能够执行以下操作之一:访问时排序:iftype==1@items=mycompany.items(:order=>'created_at')else@i