Search Results

Search found 9938 results on 398 pages for 'ruby shoes'.

Page 319/398 | < Previous Page | 315 316 317 318 319 320 321 322 323 324 325 326  | Next Page >

  • update_attributes with validations

    - by Timothy
    I have the following contrived example in Rails. I want to make sure the Garage model has at least one car with this. class Garage has_many :cars validate :at_least_one_car def at_least_one_car if cars.count == 0 errors.add_to_base("needs at least one car") end end end class Car belongs_to :garage end In my form I have a remove button that will set the hidden field _delete to true for an existing car. Let's say there is only one car object and I "delete" it in my form, if I do garage_object.update_attributes(params[:garage]), it will delete the car model and make the garage object invalid. Is there to a way to make it not update the attributes if it will make the model invalid?

    Read the article

  • Passing data between blocks using sinatra

    - by Dan Galipo
    Hi All I'm trying to pass data between blocks using sinatra. For example: @data = Hash.new post "/" do @data[:test] = params.fetch("test").to_s redirect "/tmp" end get "/tmp" do puts @data[:test] end However whenever i get to the tmp block @data is nil and throws an error. Why is that?

    Read the article

  • scope equivalent in rails 2.3.x?

    - by Jacob Relkin
    Is there a way to generate a group of routes under an admin scope without having to create a new physical directory (like namespace requires you to). I know that in Rails 3 there is a scope method on the route mapper, and this appears to do what I want, but apparently it doesn't exist in Rails 2.3.x My goal is to have a route like this: "/admin/products" map to "app/controllers/products_controller, not "app/controllers/admin/products_controller". Is there any way to accomplish this in Rails 2.3.x?

    Read the article

  • Rails activerecord includes. How to access the included columns?

    - by Lee Quarella
    I my User has_many :event_patrons and EventPatron belongs_to :user. I would like to slap together the user with one specific event patron with something like this sql statement: SELECT * FROM `users` INNER JOIN `event_patrons` ON `event_patrons`.`user_id` = `users`.`id` WHERE `event_patrons`.`event_id` = 1 So in rails I tried this: User.all(:joins => :event_patrons, :condidions => {:event_patrons => {:event_id => 1}}) But that gives me SELECT users.* instead of SELECT *: SELECT `users`* FROM `users` INNER JOIN `event_patrons` ON `event_patrons`.`user_id` = `users`.`id` WHERE `event_patrons`.`event_id` = 1 I then tried to switch the :joins with :include and got a whole jumbled mess that still returned me only the columns in User and none from EventPatron. What am I missing?

    Read the article

  • fieldWithErrors not wrapping every error field

    - by Teef L
    Notice the following result when I submit blank :title and :description fields The validations are in the controller: class Question < ActiveRecord::Base validates_presence_of :title validates_presence_of :description And, the form is generated with those names: -form_for(@question) do |f| = f.error_messages = f.label :title = f.text_field :title, :size => 50, :onchange => remote_function(:url => {:action => :display_tag_suggestions}, :with => 'Form.Element.serialize(this)') #suggestions = f.label :description = f.text_area :description ... But, for some reason, only :title gets wrapped in the error div tags: <form action="/questions" class="new_question" id="new_question" method="post"> <div style="margin:0;padding:0"><input name="authenticity_token" type="hidden" value="6HQaiu1D0gBQcKw2pLeZP6Jvn0FSClPD5Sk9HwegzPg=" /></div> <div class="errorExplanation" id="errorExplanation"> <h2>2 errors prohibited this question from being saved</h2> <p>There were problems with the following fields:</p> <ul> <li>Title can't be blank</li> <li>Description can't be blank</li> </ul> </div> <label for="question_title">Title</label> <div class="fieldWithErrors"><input id="question_title" name="question[title]" onchange="new Ajax.Request('/questions/display_tag_suggestions', {asynchronous:true, evalScripts:true, parameters:Form.Element.serialize(this) + '&amp;authenticity_token=' + encodeURIComponent('6HQaiu1D0gBQcKw2pLeZP6Jvn0FSClPD5Sk9HwegzPg=')})" size="50" type="text" value="" /></div> <label for="question_description">Description</label> <textarea cols="40" id="question_description" name="question[description]" rows="20"></textarea> ... I don't think that behavior is expected. The problem most people have is that it's wrapping things with divs, which won't display properly. My problem is that fields aren't being wrapped with divs to begin with! I haven't made any (conscious) changes to how errors are handled, so I'm not sure why it's not working properly.

    Read the article

  • Rails - Create if record doesn't exist or else update.....Whats Best way to do this?

    - by ChrisWesAllen
    Hi, I have a create statement for some models but its creating a record within a join table regardless if the record exist. Here is what my code looks like. @user = User.find(current_user) @event = Event.find(params[:id]) for interest in @event.interests @user.choices.create(:interest => interest, :score => 4) end The problem is it creates records no matter what. I would like it to create a record if it doesnt exist, if a record does exist I would just to it to take the attribute of the found record and add or subtract 1. So, I've been looking around and I see something called find_or_create_by. My question is what happens if it finds? Preferably if it finds,I would like to take the current :score attribute and +1. SO is it possible to find or create by id? I'm not sure what attribute I would find by since the model I'm looking at is a join model which only had id foreign keys and the score attribute. I tried @user.choices.find_or_create_by_user(:user => @user.id, :interest => interest, :score => 4) but got "undefined method `find_by_user'".....ANy ideas or help?

    Read the article

  • In Rails, how to respect :scope when using validates_uniqueness_of in an embedded object form?

    - by mkirk
    I have a Book model, which has_many Chapters (which belong_to a Book). I want to ensure uniqueness of Chapter titles, but only within the scope of a single book. The catch is that the form for creating chapters is embedded in the Book model's form (The Book model accepts_nested_attributes_for :chapters). Within the Chapter model: validates_uniqueness_of( :chapter_title, :scope = :book_id, :case_sensitive = false, :message = "No book can have multiple chapters with the same title.") However, when I submit the Book creation form (which also includes multiple embedded Chapter forms), if the chapter title exists in another chapter for a different book, I fail the validation test. Book.create( :chapters => [ Chapter.new(:title => "Introduction"), Chapter.new(:title => "How to build things") => Book 1 successfully created Book.create( :chapters => [ Chapter.new(:title => "Introduction"), Chapter.new(:title => "Destroy things") => Book 2 fails to validate second_book = Book.create( :chapters => [ Chapter.new(:title => "A temporary Introduction title"), Chapter.new(:title => "Destroy things") => Book 2 succesfully created second_book.chapters[0].title= "Introduction" => success second_book.chapters.save => success second_book.save => success Can anyone shed some light on how to do this? Or why it's happening?

    Read the article

  • Rails view - user enters minutes, we save seconds?

    - by sscirrus
    Hi everyone, I have a simple text_field in my form where a user enters a time in minutes, i.e. 60. How can I multiply that number by 60 before saving the form, such that the database stores the number in seconds? Then, how do I reverse that and show the field in minutes on another view? Thank you!

    Read the article

  • ActiveRecord bug? Or am I getting it wrong? (validates_presence_of if)

    - by Dmitriy Likhten
    Ok: User attr_accessible :name, :email, :email_confirmation validates_presence_of :email_confirmation if :email_changed? What happens in the following situation: u = User.find 1 u.name = 'Fonzi' u.name_changed? # => true u.email_changed? # => false u.valid? # => false : email_confirmation is required Basically, if I change if to unless the validates works as expected, won't validate if the email has not changed, will validate if the email changed. I thought the IF indicates "run this validation if the following function returns true. Seems to work backwards!? Am I just getting it wrong?

    Read the article

  • Rails SQL injection?

    - by yuval
    In Rails, when I want to find by a user given value and avoid SQL injection (escape apostrophes and the like) I can do something like this: Post.all(:conditions => ['title = ?', params[:title]]) I know that an unsafe way of doing this (possible SQL injection) is this: Post.all(:conditions => "title = #{params[:title]}") My question is, does the following method prevent SQL injection or not? Post.all(:conditions => {:title => params[:title]})

    Read the article

  • Rails: Duplicate functionality across controllers? A humble plea.

    - by Alex
    So I'm working with authlogic, and I'm trying to duplicate the login functionality to the welcome page, so that you can log in by restful url or by just going to the main page. No, I don't know if we'll keep that feature, but I want to test it out anyway. Here's the error message: RuntimeError in Welcome#index Called id for nil, which would mistakenly be 4 -- if you really wanted the id of nil, use object_id The code is below. Basically, what's happening is the index view (the first code snippet) is sending the information from the form to the create method of user_sessions controller. At this point, in theory, it create should just pick up, but it doesn't. PLEASE help. Please. I've been doing this for about 8 hours. I checked Google. I checked IRC. I checked every book I could find. You don't even have to answer, I can to the grunt work if you just point me in the right direction. <% form_for @user_session, :url => user_sessions_path do |f| %> <%= f.text_field :email %><br /> <%= f.password_field :password %> <%= submit_tag 'Login' %> <% end %> class ApplicationController < ActionController::Base helper :all # include all helpers, all the time protect_from_forgery # See ActionController::RequestForgeryProtection for details # Scrub sensitive parameters from your log # filter_parameter_logging :password helper_method :current_user_session, :current_user before_filter :new_session_object protected def new_session_object unless current_user @user_session = UserSession.new(params[:user_session]) end end private def current_user_session return @current_user_session if defined?(@current_user_session) @current_user_session = UserSession.find end def current_user return @current_user if defined?(@current_user) @current_user = current_user_session && current_user_session.record end end

    Read the article

  • Rails easy shop

    - by ciss
    I have some question about data organization in my shop. So, after easy mind hacking i decide to create three models: Item, Property and PropertyType Item: id,property_id Property: id, data, property_type_id #(data, serialized object with something like what: {:color => "red", :price => 1000} PropertyType: id, data #(data, also serialized object with {:color => :string, :price => :fixnum}) So, does this good or bad idea? I predict what I can find some problems with validations. But I really need some fields created by user via admin-panel (now I'm talking about Item Properties, which can be changed in any time)

    Read the article

  • Log your SQL in Rails application inside unit test

    - by Phuong Nguy?n
    I want to install a logger so that I can dump all executed SQL of my rails application. Problem is, such logger is associated with AbstractAdapter which initialized very soon under test mode, and thus cannot be set by my initializer code. I try to put ActiveRecord::Base.logger = MyCustomLogger.new(STDOUT) in the end of environment.rb like someone advised but it only works when being run in console environment (kicked by script/console), not when run under test mode. I wonder if there is any way to config such logger so that I will sure to be invoked under any environment (test, development, production, console)

    Read the article

  • Rspec: "array.should == another_array" but without concern for order

    - by nicholaides
    I often want to compare arrays and make sure that they contain the same elements, in any order. IS there a consise way to do this in RSpec? Here are methods that aren't acceptable: #to_set For example: array.to_set.should == another_array.to_set This fails when the arrays contain duplicate items. #sort For example: array.sort.should == another_array.sort This fails when the arrays elements don't implement #<=> #size and #to_set For example: array.to_set.should == another_array.to_set array.size.should == another_array.size This would work, but there's got to be a better way.

    Read the article

  • How can I dynamically call the named route in a :partial in rails?

    - by Angela
    I have the following partial. It can be called from three different times in a view as follows: <%= render :partial => "contact_event", :collection => @contacts, :locals => {:event => email} %> Second time: <%= render :partial => "contact_event", :collection => @contacts, :locals => {:event => call} %> Third time: <%= render :partial => "contact_event", :collection => @contacts, :locals => {:event => letter} %> In each instance, call, email, letter refer to a specific instance of a Model Call, Email, or Letter. Here is what I tried to do and conceptually what I'd like to do: assign the route based on the class name that has been passed to the :event from the :partial. What I did was create what the actual url should be. The 'text' of it is correct, but doesn't seem to recognize it as a named route. <% url = "skip_contact_#{event.class.name.tableize.singularize}_url" % <%= link_to_remote "Skip #{url} Remote", :url = skip_contact_email_url(contact_event, event), :update = "update-area-#{contact_event.id}-#{event.id}" % ' My challenge: skip_contact_email_url only works when the event refers to an email. How can I dynamically define skip_contact_email_url to be skip_contact_letter_url if the local variable is letter? Even better, how can I have a single named route that would do the appropriate action?

    Read the article

  • How can I dynamically define the named route in a :partial in rails?

    - by Angela
    I have the following partial. It can be called from three different times in a view as follows: <%= render :partial => "contact_event", :collection => @contacts, :locals => {:event => email} %> Second time: <%= render :partial => "contact_event", :collection => @contacts, :locals => {:event => call} %> Third time: <%= render :partial => "contact_event", :collection => @contacts, :locals => {:event => letter} %> In each instance, call, email, letter refer to a specific instance of a Model Call, Email, or Letter. Here is the content of the partial "contact_event": <%= link_to_remote "Skip #{event} Remote", :url => skip_contact_email_url(contact_event, event), :update => "update-area-#{contact_event.id}-#{event.id}" %> <span id='update-area-<%="#{contact_event.id}-#{event.id}"%>'> </span> </p> My challenge: skip_contact_email_url only works when the event refers to an email. How can I dynamically define skip_contact_email_url to be skip_contact_letter_url if the local variable is letter? Even better, how can I have a single named route that would do the appropriate action?

    Read the article

  • RSpec - mocking a class method

    - by Chris Kilmer
    I'm trying to mock a class method with rspec: lib/db.rb class Db def self.list(options) Db::Payload.list(options) end end lib/db/payload.rb class Db::Payload def self.list(options={}) end end In my spec, I'm trying to setup the expectation Db::Payload.list will be called when I call Db.list: describe Db do before(:each) do @options = {} Db::Payload.should_receive(:list).with(@options) end it 'should build the LIST payload' do Db.list(@options) end end The problem is that I am always receiving the following error: undefined method `should_receive' for Db::Payload:Class Any help understanding this error would be most appreciated :-)

    Read the article

  • Rails show view of one model with form for adding one child - nested attributes vs seperate controll

    - by SWR
    I have a basic two tiered model structure: Articles - Comments with one Article having many comments. What is the best way to add a "Add a comment" form to the bottom of the Articles show page? nested_attributes is overkill as I don't want to be able to edit all of the comments on the page, just to add one more. Is the best way even with Rails 2.3 still to make a separate controller and embed a form_for pointing to the other controller into the Articles show view? If so, how do I get validation errors to return to the article display page? I don't want to make a separate comment page/view... thanks

    Read the article

  • How to properly design a simple favorites and blocked table?

    - by Nils Riedemann
    Hey, i am currently writing a webapp in rails where users can mark items as favorites and also block them. I came up two ways and wondered which one is more common/better way. 1. Separate join tables Would it be wise to have 2 tables for this? Like: users_favorites - user_id - item_id users_blocked - user_id - item_id 2. single table users_marks (or so) - users_id - item_id - type (["fav", "blk"]) Both ways seem to have advantages. Which one would you use and why?

    Read the article

< Previous Page | 315 316 317 318 319 320 321 322 323 324 325 326  | Next Page >