Tag: 的Ruby on 轨道

will_paginate – 第2页及以后未显示的其他查询

我有一个视图,显示两个Active Record查询,其中一个我使用will_paginate。 所有这些都适用于will_paginate,但是如果我单击next或page 2,则第二个查询将不再在视图上呈现。 我可能不理解will_paginate处理的流程,所以任何帮助都表示赞赏。 特别是,为什么will_paginate会影响另一个不相关的查询在视图中显示? 如果单击第一页,则第二个查询将再次显示在视图中。 控制器返回两个查询,并在一个查询上有.paginate。 谢谢! 根据请求,这里是我要问的代码的摘要。 我忘了提到其他查询也使用了will_paginate。 因此,我发现了我的问题。 我对两个分页使用相同的页面参数! 我发现了一篇描述该怎么做的好文章: http : //candidcode.com/2009/11/03/paginating-multiple-models-using-will_paginate-on-the-same-page/ 并更新了我的代码,它的工作原理。 基本上,当你想在同一视图上的不同模型上使用两个will_paginates时,这是正确的代码。 控制器: def index @query1 = Post.somescope.paginate(:page => params[:query1_page], :per_page => 50) @query2 = Post.someotherscope.paginate(:page => params[:query2_page], :per_page => 20) end 视图: ‘query1_page’ %> … ‘query2_page’ %> …

将数组列表从模型传递到rails中的脚本

我有一个数组列表,我想将此数组传递给脚本(而不是tags: [“tag1″,”tag2”] )。 可能吗? 如果是,我该怎么办? model.rb attr_writer :tag_names after_save :assign_tags def tag_names @tag_names || tags.map(&:name).join(‘ ‘) end private def assign_tags if @tag_names self.tags = @tag_names.split(/ /).map do |name| Tag.find_or_create_by_name(name) end end end model/_form.html.erb $(document).ready(function() { $(“#e20”).select2({ tags: [“tag1″,”tag2”], tokenSeparators: [“,”, ” “] }); });

rails服务器不会运行WEBrick

我是一个新手,试图遵循Rails教程并成功运行安装例程来自http://railsinstaller.org/ 我也安装了mysql 我使用了命令> rails new simple_cms -d mysql 这似乎成功运行 当我运行rails服务器 这是下面的输出 – 似乎没有在端口3000上启动WEBrick 非常感谢 =============== /usr/local/rvm/gems/ruby-1.9.3-p194/gems/mysql2-0.3.11/lib/mysql2.rb:9:in require’: dlopen(/usr/local/rvm/gems/ruby-1.9.3-p194/gems/mysql2-0.3.11/lib/mysql2/mysql2.bundle, 9): Library not loaded: libmysqlclient.18.dylib (LoadError) Referenced from: /usr/local/rvm/gems/ruby-1.9.3-p194/gems/mysql2-0.3.11/lib/mysql2/mysql2.bundle Reason: image not found – /usr/local/rvm/gems/ruby-1.9.3-p194/gems/mysql2-0.3.11/lib/mysql2/mysql2.bundle from /usr/local/rvm/gems/ruby-1.9.3-p194/gems/mysql2-0.3.11/lib/mysql2.rb:9:in require’: dlopen(/usr/local/rvm/gems/ruby-1.9.3-p194/gems/mysql2-0.3.11/lib/mysql2/mysql2.bundle, 9): Library not loaded: libmysqlclient.18.dylib (LoadError) Referenced from: /usr/local/rvm/gems/ruby-1.9.3-p194/gems/mysql2-0.3.11/lib/mysql2/mysql2.bundle Reason: image not found – /usr/local/rvm/gems/ruby-1.9.3-p194/gems/mysql2-0.3.11/lib/mysql2/mysql2.bundle from /usr/local/rvm/gems/ruby-1.9.3-p194/gems/mysql2-0.3.11/lib/mysql2.rb:9:in require’: […]

Rails表示不保存’Type:’字段

我生成了一个简单的Post scaffold,它有title:string body:text category:string 。 我后来在模型中添加了type:string (并执行了迁移),并在new.html.erb和edit.html.erb中添加了选择字段。 我还为所有这些字段添加了validation。 “Select post type” %> 当我尝试创建post时,它给了我: “以下字段存在问题:类型不能为空类型不包含在列表中” 即使我做出选择。 我错过了一些明显的东西吗? 从Post类中选择代码: TYPES = [ [“Job”, “job”], [“Volunteer”, “vol”] ] validates_presence_of :title, :body, :category, :type validates_inclusion_of :category, :in => CATEGORIES.map {|disp, value| value} validates_inclusion_of :type, :in => TYPES.map {|disp, value| value}

使用一个表单内的不同按钮对选定的页面元素执行不同的操作

前段时间我问过如何选择多个页面元素并对它们执行操作 。 我实现了它,效果很好。 现在我面临另一个问题: 如何为这些元素进行多项操作? 我的观点现在看起来像这样: … 所以我有复选框和名为“删除已选中”的提交按钮。 我希望旁边有另一个按钮 – “移动到另一张专辑”。 我的控制器将使用:update方法而不是:delete所以我假设form_for … method: :delete不是我在这里可以使用的。

从RoR模型中获取两个随机元素

我正在尝试使用RoR进行简单的操作,而我在拾取基础知识时遇到了一些麻烦。 我最接近的背景是ASP.NET MVC,但我发现所有的RoR教程都关注rails真正擅长什么(脚手架的东西)而不是如何制作自己的动作并让他们用参数等来做事。在ASP.NET MVC中微不足道。 目前我正试图从模型中获取两个随机元素。 我想我正在处理某种类型的ActiveRecord集合? 我已经读过在集合/数组的某个地方有一个.rand方法,尽管其他地方都认为rand只是一种获取随机数达到一定数量的方法。 我甚至无法使用以下代码: def index @items = Array.new(Item[0], Item[0]) respond_to do |format| format.html # show.html.erb format.xml { render :xml => @domain } end end 任何有助于此的东西,理想情况下有助于从ASP.NET MVC到RoR的进一步修补,我们将非常感激。

如何在rails控制器中使用参数

以下是传递给rails控制器的参数 Parameters: {“file”=>#<ActionDispatch::Http::UploadedFile:0x007f6244989100 @tempfile=#, @original_filename=”07 – Barfi – Ala Barfi! (Version 2) [DM].mp3″, @content_type=”audio/mp3″, @headers=”Content-Disposition: form-data; name=\”file\”; filename=\”07 – Barfi – Ala Barfi! (Version 2) [DM].mp3\”\r\nContent-Type: audio/mp3\r\n”>, “event_id”=>”19”} 然后我将它存储在我的数据库中 def create event = Event.find(params[:event_id]) playlist = event.playlists.create(file: playlist_params[:file], name: playlist_params[:@original_filename]) render json: event end private def playlist_params params.permit(:file, :@original_filename) end 下面是我的播放列表模型架构 create_table “playlists”, force: :cascade […]

Facebook SDK和rails 4 Turbolinks

我很难尝试将javascript Facebook SDK加载到我的rails 4应用程序中。 是否有一种很好的方法可以使用turbolinks使其正常工作? 如果我在我的JS应用程序资产上添加此代码。 由于turbolinks,它无法正常工作: window.fbAsyncInit = function() { // init the FB JS SDK FB.init({ appId : ‘YOUR_APP_ID’, // App ID from the app dashboard channelUrl : ‘//WWW.YOUR_DOMAIN.COM/channel.html’, // Channel file for x-domain comms status : true, // Check Facebook Login status xfbml : true // Look for social plugins on the […]

运行Rails控制台时出现Gem :: LoadError

我试图通过执行rails console运行Rails rails console ,我收到了这个错误 /home/ahmed/.rvm/gems/ruby-.2.0@global/gems/bundler-.8.2/lib/bundler/runtime.rb:34:in `block in setup’: You have already activated spring 1.3.3, but your Gemfile requires spring 1.3.2. Prepending `bundle exec` to your command may solve this. (Gem::LoadError) from home/ahmed/.rvm/gems/ruby-.2.0@global/gems/bundler-.8.2/lib/bundler/runtime.rb:19:in `setup’ from /home/ahmed/.rvm/gems/ruby-2.2.0@global/gems/bundler-1.8.2/lib/bundler.rb:122:in `setup’ from /home/ahmed/.rvm/gems/ruby-2.2.0@global/gems/bundler-1.8.2/lib/bundler/setup.rb:8:in `’ from /home/ahmed/.rvm/rubies/ruby-2.2.0/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require’ from /home/ahmed/.rvm/rubies/ruby-2.2.0/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require’ from /home/ahmed/.rvm/gems/ruby-2.2.0/gems/spring-1.3.3/lib/spring/commands.rb:33:in `’ from /home/ahmed/.rvm/gems/ruby-2.2.0/gems/spring-1.3.3/lib/spring/commands.rb:4:in `’ from /home/ahmed/.rvm/rubies/ruby-2.2.0/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require’ […]

Rails控制台“共享”CTRL + C.

当我打开两个Rails控制台并在其中一个控制器中按CTRL + C时,它将被发送到两个控制台。 为什么这样,我该如何防止这种情况? (Rails 4.2.0)