Search Results

Search found 10348 results on 414 pages for 'ruby novice'.

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

  • Two Different Types of Associatons on the Same Two Tables in Rails

    - by tmo256
    I have two models, users and themes, that I'm currently joining in a HABTM association in a themes_users table. Basically, after a user creates a new theme, it becomes available to other users to select for their own use. However, only the original creator of the theme should have the ability to edit it. So, I need to have some other kind of association to handle that relationship, something like an created_by_id field in the theme. In this way, the user model acts as two different roles: they can be an implementer of a theme AND/OR the owner of the theme. The implementer relationship is handled by the themes_users join table; the question is: What is the right way to handle this secondary association? Do I need to make users polymorphic and then make the created_by_id reference an "owner"? Or is there something easier? Thanks so much for your help!

    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

  • jQuery get request against Sinatra does not get text

    - by jerhinesmith
    I have a very simple sinatra site that I'm trying to access via ajax through jQuery. To keep things incredibly simple, this code snippet: get '/behavior_count' do "60" end which returns "60" in the browser, shows up as an empty string when attempting to access the site via $.get in jQuery. The strange part is in Firebug, while the Response is empty, the HTTP header correctly describes Content-Length as 2, and I can see the request show up on the server. Is there something specific to Sinatra that isn't returning my data, or am I not using jQuery correctly? If it helps, I also tried this code: get '/behavior_count' do content_type 'text/plain', :charset => 'utf-8' "60" end and my jQuery looks like $.get('http://mysite:4567/behavior_count'); // Ignore the response, but // watch the request in firebug Any ideas?

    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

  • rails: undefined method and form_tags

    - by SuperString
    I have this in courses.html.erb under app/views/students <% if @student.courses.count < Course.count then%> <% form_tag(course_add_student_path(@student)) do%> <%= select_tag(:course, options_from_collection_for_select(@student.unenrolled_courses, :id, :name))%> <%= submit_tag 'Enroll'%> <%end%> <%else%> <p><%=h @student.name%> is enrolled in every course. </p> <%end%> I have this in my students_controller.rb under app/controllers: def course_add @student = Student.find(params[:id]) @course = Course.find(params[:course]) unless @student.enrolled_in?(@course) @student.coursess << @course flash[:notice] = 'course added' else flash[:error] = 'course already enrolled' end redirect_to :action => courses, :id => @student end And in my routes.rb, I have: resources :students, :has_many => [:awards], :member => {:courses => :get, :course_add => :post, :course_remove => :post} However, I am getting this error: undefined method `course_add_student_path' for #<#<Class:0x105321d78>:0x1053200e0> What am I missing here? Rake routes output: students GET /students(.:format) {:action=>"index", :controller=>"students"} POST /students(.:format) {:action=>"create", :controller=>"students"} new_student GET /students/new(.:format) {:action=>"new", :controller=>"students"} edit_student GET /students/:id/edit(.:format) {:action=>"edit", :controller=>"students"} student GET /students/:id(.:format) {:action=>"show", :controller=>"students"} PUT /students/:id(.:format) {:action=>"update", :controller=>"students"} DELETE /students/:id(.:format) {:action=>"destroy", :controller=>"students"} courses GET /courses(.:format) {:action=>"index", :controller=>"courses"} POST /courses(.:format) {:action=>"create", :controller=>"courses"} new_course GET /courses/new(.:format) {:action=>"new", :controller=>"courses"} edit_course GET /courses/:id/edit(.:format) {:action=>"edit", :controller=>"courses"} course GET /courses/:id(.:format) {:action=>"show", :controller=>"courses"} PUT /courses/:id(.:format) {:action=>"update", :controller=>"courses"} DELETE /courses/:id(.:format) {:action=>"destroy", :controller=>"courses"} student_awards GET /students/:student_id/awards(.:format) {:action=>"index", :controller=>"awards"} POST /students/:student_id/awards(.:format) {:action=>"create", :controller=>"awards"} new_student_award GET /students/:student_id/awards/new(.:format) {:action=>"new", :controller=>"awards"} edit_student_award GET /students/:student_id/awards/:id/edit(.:format) {:action=>"edit", :controller=>"awards"} student_award GET /students/:student_id/awards/:id(.:format) {:action=>"show", :controller=>"awards"} PUT /students/:student_id/awards/:id(.:format) {:action=>"update", :controller=>"awards"} DELETE /students/:student_id/awards/:id(.:format) {:action=>"destroy", :controller=>"awards"} courses_student GET /students/:id/courses(.:format) {:action=>"courses", :controller=>"students"} GET /students(.:format) {:action=>"index", :controller=>"students"} POST /students(.:format) {:action=>"create", :controller=>"students"} GET /students/new(.:format) {:action=>"new", :controller=>"students"} GET /students/:id/edit(.:format) {:action=>"edit", :controller=>"students"} GET /students/:id(.:format) {:action=>"show", :controller=>"students"} PUT /students/:id(.:format) {:action=>"update", :controller=>"students"} DELETE /students/:id(.:format) {:action=>"destroy", :controller=>"students"}

    Read the article

  • In Rails, how would I include a section of a page only if the rest of the page doesn't match a certain regexp?

    - by Simon
    We have a site with a lot of user-generated content, and we'd like to show Google ads on it. Some of the content is such that we mustn't show the ads on pages containing that content, or else the whole site gets banned. We've come up with a regexp which we think will match all the offending content. So, three approaches come to mind: Render the page once without the ad section, and then insert the ad section into it if it's clean Render the page as normal, and do the insertion in client-side javascript Render the page above the ad section, capturing only the parts of the page that change; make sure there are no changing parts afterwards. Only show the ads if the captured text is clean, and make sure the unchanging, uncaptured parts are well-vetted in advance. The first one seems like it might delay the page rendering for too long; the second seems like it might delay showing the ads too long; and the third seems too fragile. Is there a better approach? If not, which one is the best solution of the three?

    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

  • How to add :format options to a named route in Rails?

    - by Alfred Nerstu
    I've got a named route called profile and I would like to be able to access it as json. But when I look at my rake routes output I see that the (.:format) is missing. How do I add it to a named route? user GET /users/:id(.:format) {:action=>"show", :controller=>"users"} profile /:username {:action=>"show", :controller=>"users"} Thanks in advance!

    Read the article

  • paypal_adaptive gem in Rails: Dynamic Receiver "Population" (Chained Payments)

    - by Jmlevick
    Note: I didn't find a better title for this O.o Hello, Humm... Look, what I want to do is to have a Rails app where a visitor can click a button/link to make a "special" chained payment using Paypal; Currently I have a Users registration form that has one field for the user to enter his/her paypal account email, and as I saw here: http://marker.to/XGg9MR it is possible to specify the primary reciever and the secondary ones by adding such info in a controller action when using the paypal_adaptive gem in a rails app. The thing is, I don't want to hard code the secondary reciever as I need to specify a different secondary reciever from time to time, (being specific my primary reciever will always be the same, but depending on what button/link the visitor clicks, the secondary one is going to change) and I want that secondary reciever email to be the paypal e-mail account from one of the registered users when the visitor clicks on their specific button/link... My question is: Is it possible to create such enviroment functionality in my app using the current implementation of the paypal_adaptive gem? Could someone point me in the right direction on how to accomplish such thing? I'm still learning rails and also I'm really new in the paypal handling universe with this framework! XD P.S. Thanks! :)

    Read the article

  • Rails - Why is my custom validation being triggered for only a build command.

    - by adam
    I have a sentence and correction model with a has_one and belongs_to relationship respectively. For some reason when I do def create @sentence = Sentence.find(params[:sentence_id]) @correction = @sentence.build_correction(params[:correction]) a custom validation I wrote for Correction is being called at the build_correction point. the validation is below class Correction < ActiveRecord::Base attr_accessible :text, :sentence_id, :user_id belongs_to :sentence belongs_to :user validate :correction_is_different_than_sentence def correction_is_different_than_sentence errors.add(:text, "can't be the same as the original sentence.") if (text == self.sentence.text) end the problem is for some reason on validation the correction object doesn't have the sentence id set (despite I used the build_correction method) and so it complains "you have nil object .... while executing nil.text" in the if clause in the validation above. So my question is why is the validation occuring for a build command, i thought it only triggers on a create or update. And why isnt the sentence_id getting set?

    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

  • Using rails plugin auto_complete

    - by Jon
    Hi, i am using the rails plugin auto_complete http://github.com/rails/auto_complete. I have followed the examples, and its all working well, but with one small problem. After submitting an auto completed text field, and then hitting the back button, the text field does not retain the previously selected value. Does anyone have a solution please? thanks

    Read the article

  • Attach 1 or more (non image) files to rails application, with having to install an image-processing

    - by Hinchy
    Hi all, I'm currently learning rails by creating a simple project management app. I've gotten to the point where I would like to be allow a user upload multiple files - pdfs, docs, xls etc. The user only needs to be able to attach one file at a time, but the possibilty to have multiple documents associated with a project is a must. I've spent quite a lot of time researching my options, and it appears the two main plugins are attachment_fu and paperclip. From what I've read though, these appear to concentrate specifically on the upload and subsequent resizing of images, something I couldn't care less about. Is there a simpler way to achieve what I'm trying? Thank you all in advance.

    Read the article

  • Get parent attribute within new child form?

    - by dannymcc
    I have a simple Rails 3 application and I am trying to create a new record that belongs to it's owner. It's working by passing the id to a hidden field in the new form of the child record. This works well and once the new child form submitted it correctly gets associated in the child/parent relationship. What I am trying to do, is lookup values form the parent within the new child form. The problem is that the child relationship is not yet created. Is there anyway I can use a .where lookup in the view? Or, is there a better way of doing this? At the moment I am passing the animal_id though to the new Claim form and it's inserted into a hidden field labelled animal_id. What I am trying to do: <%= @animal.where(:animal_id => params[:animal_id]).id %> The above would ideally get the animal ID from the soon-to-be-associated animal. Is there any sort of before_filter or anything that could take the passed params from the URL and temporarily create the relationship just for the new form view and then permanently create the relationship once the form is submitted? I've tried adding the following to my Claims controller and then called @animal.AnimalName in the view but I get NoMethodError: before_filter :find_animal protected def find_animal if params[:animal_id] Animal.find(params[:animal_id]) end end The URL of the new claim is correctly showing the animal ID so I'm not sure why it's not finding it: http://localhost:3000/claims/new?animal_id=1 The model relations are as follows: animal has_many claims animal has_one exclusion claim has_one animal exception has_one animal

    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 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

  • 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

  • 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

  • What's the best way to generate an API reference document using a Rails routes.rb file?

    - by RNHurt
    I am trying to document the API for my Rails application and I can't help but wonder if there is a better way to generate an XML file based on my routes.rb file. I'm envisioning something similar to the output of rake routes but in a more friendly, XML type format. Corey has some interesting ideas about using reflection/introspection on the routes file here but it's not quite what I need. Please tell me this is a solved problem and I'm not the first one to think of this. :)

    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

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