Search Results

Search found 9825 results on 393 pages for 'ruby'.

Page 300/393 | < Previous Page | 296 297 298 299 300 301 302 303 304 305 306 307  | Next Page >

  • Hash default value not being used

    - by ba
    Today I tried the following snippets of code and I don't understand why I get different results between them. As far as I can understand they are the same. One uses the default value off Hash and the other snippet creates an empty array for the key before it'll be accessed. Anyone who understands what's going on? :) # Hash default if the key doesn't have a value set is an empty Array a = Hash.new([]) a[:key] << 2 # => [2] p a # => {} nil p a[:key] # => [2] # Explicitly add an array for all nodes before creating b = Hash.new b[:key] ||= [] b[:key] << 2 # => [2] p b # => {:key=>[2]}

    Read the article

  • How do I avoid a race condition in my Rails app?

    - by Cathal
    Hi, I have a really simple Rails application that allows users to register their attendance on a set of courses. The ActiveRecord models are as follows: class Course < ActiveRecord::Base has_many :scheduled_runs ... end class ScheduledRun < ActiveRecord::Base belongs_to :course has_many :attendances has_many :attendees, :through => :attendances ... end class Attendance < ActiveRecord::Base belongs_to :user belongs_to :scheduled_run, :counter_cache => true ... end class User < ActiveRecord::Base has_many :attendances has_many :registered_courses, :through => :attendances, :source => :scheduled_run end A ScheduledRun instance has a finite number of places available, and once the limit is reached, no more attendances can be accepted. def full? attendances_count == capacity end attendances_count is a counter cache column holding the number of attendance associations created for a particular ScheduledRun record. My problem is that I don't fully know the correct way to ensure that a race condition doesn't occur when 1 or more people attempt to register for the last available place on a course at the same time. My Attendance controller looks like this: class AttendancesController < ApplicationController before_filter :load_scheduled_run before_filter :load_user, :only => :create def new @user = User.new end def create unless @user.valid? render :action => 'new' end @attendance = @user.attendances.build(:scheduled_run_id => params[:scheduled_run_id]) if @attendance.save flash[:notice] = "Successfully created attendance." redirect_to root_url else render :action => 'new' end end protected def load_scheduled_run @run = ScheduledRun.find(params[:scheduled_run_id]) end def load_user @user = User.create_new_or_load_existing(params[:user]) end end As you can see, it doesn't take into account where the ScheduledRun instance has already reached capacity. Any help on this would be greatly appreciated.

    Read the article

  • Obfuscating ids in Rails app

    - by fphilipe
    I'm trying to obfuscate all the ids that leave the server, i.e., ids appearing in URLs and in the HTML output. I've written a simple Base62 lib that has the methods encode and decode. Defining—or better—overwriting the id method of an ActiveRecord to return the encoded version of the id and adjusting the controller to load the resource with the decoded params[:id] gives me the desired result. The ids now are base62 encoded in the urls and the response displays the correct resource. Now I started to notice that subresources defined through has_many relationships aren't loading. e.g. I have a record called User that has_many Posts. Now User.find(1).posts is empty although there are posts with user_id = 1. My explanation is that ActiveRecord must be comparing the user_id of Post with the method id of User—which I've overwritten—instead of comparing with self[:id]. So basically this renders my approach useless. What I would like to have is something like defining obfuscates_id in the model and that the rest would be taken care of, i.e., doing all the encoding/decoding at the appropriate locations and preventing ids to be returned by the server. Is there any gem available or does somebody have a hint how to accomplish this? I bet I'm not the first trying this.

    Read the article

  • Nokogiri find text in paragraphs

    - by astropanic
    I want to replace the inner_text in all paragraphs in my XHTML document. I know I can get all text with Nokogiri like this doc.xpath("//text()") But I want only operate on text in paragraphs, how I can select all text in paragraphs without affecting eventually existent anchor texts in links ? #For example : <p>some text <a href="/">This should not be changed</a> another one</a>

    Read the article

  • Manually output HAML start and end tags

    - by trobrock
    I have some code: - count = 0 - @clients.each do |client| %div{:class => "grid_2#{(" alpha" if (count % 3) == 0) || (" omega push_2" if (count % 3) == 2) || " push_1"}"}= link_to h(client.name), client - count += 1 I want to output an opening div tag right after the each statement if the (count % 3) == 0 and out put the end tag at the end of the block if the (count % 3) == 2 but I can't figure out how to get HAML to do this. Any ideas?

    Read the article

  • rails belongs_to sql statement using NULL id

    - by Team Pannous
    When paginating through our Phrase table it takes very long to return the results. In the sql logs we see many sql requests which don't make sense to us: Phrase Load (7.4ms) SELECT "phrases".* FROM "phrases" WHERE "phrases"."id" IS NULL LIMIT 1 User Load (0.4ms) SELECT "users".* FROM "users" WHERE "users"."id" IS NULL LIMIT 1 These add up significantly. Is there a way to prevent querying against null ids? This is the underlying model: class Phrase < ActiveRecord::Base belongs_to :user belongs_to :response, :class_name => "Phrase", :foreign_key => "next_id" end

    Read the article

  • helper function not found in view

    - by cbrulak
    I'm following the instructions at: http://agilewebdevelopment.com/plugins/acts_as_taggable_on_steroids to add the tag cloud to my view: in the controller: class PostController < ApplicationController def tag_cloud @tags = Post.tag_counts end end I also added the tag_cloud method as a helper method in the controller and in the view: <% tag_cloud @tags, %w(css1 css2 css3 css4) do |tag, css_class| %> (line 1) <%= link_to tag.name, { :action => :tag, :id => tag.name }, :class => css_class %> (line2) <% end %> (line 3) However: 1) if I don't add the helper_method :tag_cloud in the controller I get a undefined method error for tag_cloud 2) if I do add the helper method I get: wrong number of arguments (2 for 0) on the same line 1 of my sample code above. Suggestions?

    Read the article

  • Heroku Postgres Error: PGError: ERROR: relation "organizations" does not exist (ActiveRecord::StatementInvalid)

    - by Mark
    I'm having a problem deploying my Rails app to Heroku, where this error is thrown when trying to access the app: PGError: ERROR: relation "organizations" does not exist (ActiveRecord::StatementInvalid) SELECT a.attname, format_type(a.atttypid, a.atttypmod), d.adsrc, a.attnotnull FROM pg_attribute a LEFT JOIN pg_attrdef d ON a.attrelid = d.adrelid AND a.attnum = d.adnum WHERE a.attrelid = '"organizations"'::regclass AND a.attnum > 0 AND NOT a.attisdropped ORDER BY a.attnum Anybody have any ideas? This is a first for me, especially because I've been working with Heroku for a year on other apps, and haven't see anything like this. Of course, everything works on local SQLite. Thanks in advance for any help! --Mark

    Read the article

  • Grid forms in Rails

    - by KandadaBoggu
    I am trying to create a grid form for a survey question. value1 value2 value3 option 1 x option 2 x option 3 x Each cell in the grid is a radio button and the radio buttons in a row belong to one radio button group. My models: class Question # title has_many :answers end class Answer # name, position, atype(row/col) end I am struggling to come up with a Rails approach for creating such a form. To complicate the issue user can save the semi-completed form and complete it at a later time. What is the best approach for this problem?

    Read the article

  • undefined method `parameterize' for nil:NilClass

    - by Senthil
    I've been trying to do SEO friendly urls, and managed to get it work, but when I call index action on blogs, I get a weird "undefined method `parameterize' for nil:NilClass." The method works when using show method. def to_s title end def to_param "#{id}-#{to_s.parameterize}" end

    Read the article

  • Class name to view path

    - by Alexey Poimtsev
    Hi, I have a RoR application and model SomeModel. I have views for this model and I want to know - is there any method to get the view's path? Of course I can use for this model instance m = SomeModel.new v = m.class.class_name.pluralize.downcase It's working, but maybe you know a better way? :)

    Read the article

  • rails db migration, undefined method `to_sym', cant figure out syntax

    - by oelbrenner
    the original migration looks like this: class CreateUsers true do |t| t.string :login, :limit = 40 t.string :name, :limit = 100, :default = '', :null = true t.string :email, :limit = 100 t.string :crypted_password, :limit = 40 t.string :salt, :limit = 40 t.string :remember_token, :limit = 40 t.datetime :remember_token_expires_at t.string :activation_code, :limit = 40 t.datetime :activated_at, :datetime t.string :state, :null = :no, :default = 'passive' t.datetime :deleted_at t.integer :occupation_id, :null = :yes t.datetime :paid_up_to_date, :date t.timestamps end and I am trying to change the default of "state" to be "active" instead of passive so my attempt at a migration looks like this: ( still learning.. be gentle ) class ChangeUserStateDefault < ActiveRecord::Migration def self.up change_column :users, :state, :null = :no, :default = 'active' end def self.down end end

    Read the article

  • Suggestion on Database structure for relational data

    - by miccet
    Hi there. I've been wrestling with this problem for quite a while now and the automatic mails with 'Slow Query' warnings are still popping in. Basically, I have Blogs with a corresponding table as well as a table that keeps track of how many times each Blog has been viewed. This last table has a huge amount of records since this page is relatively high traffic and it logs every hit as an individual row. I have tried with indexes on the fields that are included in the WHERE clause, but it doesn't seem to help. I have also tried to clean the table each week by removing old ( 1.weeks) records. SO, I'm asking you guys, how would you solve this? The query that I know is causing the slowness is generated by Rails and looks like this: SELECT count(*) AS count_all FROM blog_views WHERE (created_at >= '2010-01-01 00:00:01' AND blog_id = 1); The tables have the following structures: CREATE TABLE IF NOT EXISTS 'blogs' ( 'id' int(11) NOT NULL auto_increment, 'name' varchar(255) default NULL, 'perma_name' varchar(255) default NULL, 'author_id' int(11) default NULL, 'created_at' datetime default NULL, 'updated_at' datetime default NULL, 'blog_picture_id' int(11) default NULL, 'blog_picture2_id' int(11) default NULL, 'page_id' int(11) default NULL, 'blog_picture3_id' int(11) default NULL, 'active' tinyint(1) default '1', PRIMARY KEY ('id'), KEY 'index_blogs_on_author_id' ('author_id') ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; And CREATE TABLE IF NOT EXISTS 'blog_views' ( 'id' int(11) NOT NULL auto_increment, 'blog_id' int(11) default NULL, 'ip' varchar(255) default NULL, 'created_at' datetime default NULL, 'updated_at' datetime default NULL, PRIMARY KEY ('id'), KEY 'index_blog_views_on_blog_id' ('blog_id'), KEY 'created_at' ('created_at') ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

    Read the article

  • Checking for duplicates with nested forms

    - by Cyrus
    I'm making a rails 3.2.9 app that allows users to create pages and they can embed youtube videos through a nested form. I'm trying to figure out how to make it so that I can prevent duplicate video records from being stored in my db. So I have a Video model that takes the youtube url and just parses out the video id and stores that instead of the full user submitted youtube url, which may have extraneous url query parameters. So here's the situation that I'm trying to figure out: There's page1 with video1 - url: 123 and video2 - url: abc Then another user creates page2 and submits video3 - url: def and video4 - url: 123 Currently each page has_many videos. But I think I should change it to a many-to-many relationship. But how would I make it so that the url submitted as video4 in the nested form points to video1? Also I how would I make a nested form that creates objects that are connected through a join table?

    Read the article

  • Update array in rails action?

    - by Elliot
    Hey guys, I have the following code in an action: @user = @current_user @user.votes[1430]='up' @user.update_attributes(params[:user]) Votes is a string type, there is no default value - I just want to set it for the first time when this action occurs. Unfortunately I get this error: NoMethodError You have a nil object when you didn't expect it! The error occurred while evaluating nil.votes any ideas what I'm doing wrong?

    Read the article

  • How to pass javascript/jQuery settings from page to page in rails?

    - by aronchick
    When doing javascript manipulation of what's visible, how does one pass that from page to page (ideally in Rails)? For example, let's say I have the following simple jQuery code: <% link_to "Next Page", report_path %> <div class="clickable-div" style="background-color:#FFFFFF;"></div> <script> $('.clickable-div').click(function () { var color = $(this).css("background-color", "#000000"); }); </script> If it's not clear, the code is just supposed to change the color of the div based on whether or not it has been clicked. Regardless, there's also a link on the page that allows someone to go to the reporting page. What's a way to pass the state of the div to the action call? EDIT It seems unnecessary to do it in a session - am I wrong? This is just something from one page to the next, I couldn't care less anywhere else on the site. EDIT 2 To confirm, Rails needs to have access to the action that occurred in Javascript on the previous page.

    Read the article

  • Can using Chronic impair your sense of time?

    - by Trip
    Haha.. I'm using Chronic to parse the time users add in the Calendar. Where the code works and implements the right time, the end result is that, IF a user adds a time, then it has no date, and because it has no date, it will not show in results. Any ideas? def set_dates unless self.natural_date.blank? || Chronic.parse(self.natural_date).blank? # check if we are dealing with a date or a date + time if time_provided?(self.natural_date) self.date = nil self.time = Chronic.parse(self.natural_date) else self.date = Chronic.parse(self.natural_date).to_date self.time = nil end end unless self.natural_end_date.blank? || Chronic.parse(self.natural_end_date).blank? # check if we are dealing with a date or a date + time if time_provided?(self.natural_end_date) self.end_date = nil self.end_time = Chronic.parse(self.natural_end_date) else self.end_date = Chronic.parse(self.natural_end_date).to_date self.end_time = nil end end end Edit: Here is the time_provided? method: def time_provided?(natural_date_string) date_span = Chronic.parse(natural_date_string, :guess => false) (date_span.last - date_span.first).to_i == 1 end

    Read the article

  • Storing a variable into a database

    - by Alekx
    In an attempt to better learn Rails and I'm building a simple Blackjack game, but I'm running into a problem of storing the variable. I understand how to store user-genereated data into the db using form_for, but I'm struggling to create a random number and put it in the db. @hand = rand(9) + 2 I have "hand" as a field in my db, just curious how to store this random number. Any help anyone could provide to point me in the right direction would be very much appreciated. Thanks.

    Read the article

  • Search by ID, no keyword. Tried using :conditions but no result ouput.

    - by Victor
    Using Thinking Sphinx, Rails 2.3.8. I don't have a keyword to search, but I wanna search by shop_id which is indexed. Here's my code: @country = Country.search '', { :with => {:shop_id => params[:shop_id]}, :group_by => 'trip_id', :group_function => :attr, :page => params[:page] } The one above works. But I thought the '' is rather redundant. So I replaced it with :conditions resulting as: @country = Country.search :conditions => { :with => {:shop_id => params[:shop_id]}, :group_by => 'trip_id', :group_function => :attr, :page => params[:page] } But then it gives 0 result. What is the correct code? Thanks.

    Read the article

  • Routing error when trying to use same view for update and create flows (Rails 3)

    - by Jamis Charles
    My overall use case: I have a Listing model that has many images. The Listing detail page lists all the fields that can be updated inline (through ajax). I want to be able to use the same view for both update listing and create new listing. My listing controller looks as follows: def detail @listing = Listing.find(params[:id]) @image = Image.new #should this link somewhere else? respond_to do |format| format.html # show.html.erb format.xml { render :xml => @listing } end end def create # create a new listing and save it immediately. Assign it to guest, with a status of "draft" @listing = Listing.new(:price_id => 1) # Default price id # save it to db # TODO add validation that it has to have a price ID, on record creation. So the view doesn't break. @listing.save @image = Image.new # redirect_to "/listings/detail/@listing.id" #this didn't work respond_to do |format| format.html # show.html.erb format.xml { render :xml => @listing } end end The PROBLEM I'm using a partial that shows the same form for the create view and the detail view. This works perfectly except for one thing: When I pull up http://0.0.0.0:3000/listings/detail/7, it works perfectly. When I pull up http://0.0.0.0:3000/listings/new, I get the following error: Showing /Applications/MAMP/htdocs/rails_testing/feedbackd/app/views/listings/_edit_form.html.erb where line #100 raised: No route matches {:action="show", :controller="images"} Extracted source (around line #100): 97: <!-- Form for new images --> 98: <div class="span-20 append-bottom"> 99: <!-- <%# form_for :image, @image, :url => image_path, :html => { :multipart => true } do |f| %> --> 100: <%= form_for @image, :url => image_path, :html => { :multipart => true } do |f| %> 101: <%= f.text_field :description %><br /> 102: <%= f.file_field :photo %> 103: <%= submit_tag "Upload" %> What I think the issue is: When I upload a new image (I'm using Paperclip), it requires the listing_id to create the image record. Since the listing_id isn't passed in with listings/new it can't find the listing_id. How can I pass in the id? Via a redirect? What's the best way to solve this? Thank you.

    Read the article

  • [Rails] checkbox to update attribute

    - by Jeff
    [Updated a bit] I have a Task model that has a :completed boolean attribute. If I click on it I want it to execute the 'finish' method. The main problem is that I am displays a series of checkboxes in a list and subsequent checkboxes after the first one are ignored. The method is never called for the given task/checkbox combo. I have this chunk of code in my view: <% current_user.tasks.each do |t|%> <% if t.completed == false %> <%= check_box_tag :completed, true, checked = false %> <%= observe_field :completed, :url => { :controller => 'tasks', :action => :finish , :id => t.id }, :frequency => 0.25, :update => :completed, :with => true %> and my finish method looks like this: def finish @task = Task.find(params[:id]) new = {:completed => true} @task.update_attributes(new) render :update do |page| page.replace_html "taskListing", :partial => 'home/task_listing' end

    Read the article

< Previous Page | 296 297 298 299 300 301 302 303 304 305 306 307  | Next Page >