Search Results

Search found 7350 results on 294 pages for 'rspec rails'.

Page 117/294 | < Previous Page | 113 114 115 116 117 118 119 120 121 122 123 124  | Next Page >

  • How to use Many to Many in Rails?

    - by Newbie
    Hello! In my project, I have users and quests. One User can join multiple quests and one quest can have multiple users. So I created a table called questing, containing the user_id and the quest_id. In my user.rb I did following: require 'digest/sha1' class User < ActiveRecord::Base has_many :questings has_many :quests ,:through =>:questings ... My Quest.rb: class Quest < ActiveRecord::Base has_many :questings has_many :users ,:through =>:questings ... My Questing.rb: class Questing < ActiveRecord::Base belongs_to :quest belongs_to :user end Now I want to create a link or button on my /quests/show.html.erb, calling an action in my controller, which will create the relationship between user and quest. So, in my quest_controller I did: def join_quest @quest = Quest.find(params[:id]) puts '************************' puts 'join quest:' + @quest.id puts '************************' respond_to do |format| format.html { redirect_to(@quest) } format.xml { head :ok } end end and in my show.html.erb I did: <%= link_to 'join this quest!!!', :action => :join_quest %> Now, clicking on this link will cause an error like: Couldn't find Quest with ID=join_quest and the url points to */quests/join_quest* instead of */quests/1/join_quest* Now my questions: Is my quests_controller the right place for my join_quest action, or should I move it to my users_controller? Why do I get this error? How to solve it? What do I have to write in my join_quest action for saving the relationship? On my /users/show.html.erb I want to output all quests the user joined. How to do this? I have to get all this quests from my relationship table, right? How? I hope you can help me! THX!

    Read the article

  • content_tag_for a collection in Rails?

    - by Nick
    I have a Post model. Posts have many Comments. I want to generate a <ul> element for post.comments using content_tag_for. Ideally, it'd produce <ul id="comments_post_7" class="comments"> ... </ul> where 7 is the ID of the Post. The closest I can get uses <% content-tag-for :ul post, :comments do %> which produces <ul id="comments_post_7" class="post"> ... </ul> which is pretty close, except for the class="post". Using :class => :comments in the content_tag_for yields class="post comments", but I just want class="comments". It seems logical that I'd be able to use something like <% content_tag_for :ul post.comments do %> but, sadly, that yields <ul id="array_2181653100" class="array"> ... </ul> I've searched far and wide. I feel like I'm missing some elegant way to do this. Am I? Because, seriously, <ul id="comments_post_<%= post.id %>" class="comments"> is painful.

    Read the article

  • Rails has_one vs belongs_to semantics

    - by Anurag
    I have a model representing a Content item that contains some images. The number of images are fixed as these image references are very specific to the content. For example, the Content model refers to the Image model twice (profile image, and background image). I am trying to avoid a generic has_many, and sticking to multiple has_one's. The current database structure looks like: contents - id:integer - integer:profile_image_id - integer:background_image_id images - integer:id - string:filename - integer:content_id I just can't figure out how to setup the associations correctly here. The Content model could contain two belongs_to references to an Image, but that doesn't seem semantically right cause ideally an image belongs to the content, or in other words, the content has two images. This is the best I could think of (by breaking the semantics): class Content belongs_to :profile_image, :class_name => 'Image', :foreign_key => 'profile_image_id' belongs_to :background_image, :class_name => 'Image', :foreign_key => 'background_image_id' end Am I way off, and there a better way to achieve this association?

    Read the article

  • Ignore first line on csv parse Rails

    - by Jack
    Hi, I am using the code from this tutorial to parse a CSV file and add the contents to a database table. How would I ignore the first line of the CSV file? The controller code is below: def csv_import @parsed_file=CSV::Reader.parse(params[:dump][:file]) n = 0 @parsed_file.each do |row| s = Student.new s.name = row[0] s.cid = row[1] s.year_id = find_year_id_from_year_title(row[2]) if s.save n = n+1 GC.start if n%50==0 end flash.now[:message] = "CSV Import Successful, #{n} new students added to the database." end redirect_to(students_url) end

    Read the article

  • Rails: RESTful Find, Initialize, or Create

    - by Andrew
    I have an app that has Cities in it. I'm looking for some suggestions on how to RESTfully structure a controller so that I can lookup, initialize, and create city records via AJAX requests. For instance: Given a text field city_name A user enters the name of a City, like "Paris, France" The app checks this location to see if there is such a city in the database already If there is, it returns the city object If there is not, it returns a new record initialized with the name "Paris" and the country "France", and prompts the user to confirm they want to add this city to the database If the user says "Yes" the record is saved. If not the record is discarded and the form is cleared. Now, my first approach was to change the Create action to use find_or_create, so that an AJAX post to cities_path would result in either returning the existing city or creating it and returning it. That works ok... However, it would be better to setup controller actions that would take a string input, find , or else initialize and return, then only create if the user confirms the generated record is correct. The ideal scenario would put this all in one action so AJAX request can go to that url, the server responds with JSON objects, and javascript can handle things from there. I'd like to keep all the user-interaction logic client side, and also minimize the number of requests it takes to achieve this. Any suggestions on the cleanest, most RESTful way to accomplish this?

    Read the article

  • Operations inside Rails I18n locales' strings

    - by Cristobal Viedma
    Hi, I am trying to put operations inside the locales to adapt to different languages. For example, in English a billion is 1,000,000,000, however in Spanish a billion is 1,000,000,000,000 so I would like to be able to have the following: en: billion: "You have %{money} billions" es: billion: "Tienes %{money/1000.0} billones" In order to be able to write: I18n.t :billion, :money => whatever And be right for whatever language. However, it seems that I cannot put operations inside the locales' strings. Any hint on how should I be doing this? Maybe my approach is just wrong "philosophically" talking? Thanks all!

    Read the article

  • JSON is not nested in rails view

    - by SeanGeneva
    I have a several models in a heirarchy, 1:many at each level. Each class is associated only with the class above it and the one below it, ie: L1 course, L2 unit, L3 unit layout, L4 layout fields, L5 table fields (not in code, but a sibling of layout fields) I am trying to build a JSON response of the entire hierarchy. def show @course = Course.find(params[:id]) respond_to do |format| format.html # show.html.erb format.json do @course = Course.find(params[:id]) @units = @course.units.all @unit_layouts = UnitLayout.where(:unit_id => @units) @layout_fields = LayoutField.where(:unit_layout_id => @unit_layouts) response = {:course => @course, :units => @units, :unit_layouts => @unit_layouts, :layout_fields => @layout_fields} respond_to do |format| format.json {render :json => response } end end end end The code is bring back the correct values, but the units, unit_layouts and layout_fields are all nested at the same level under course. I would like them to be nested inside their parent.

    Read the article

  • Non-auto-increment rails/postgresql column

    - by Redian
    I'm trying to have a model/table with duplicate information in it. The reason for this is so that the same data can be written to the table under different users and found for each user. However, I want a quick easy way to identify which information is a duplicate of other information. I think the best way to do this would be to have an item_id of sorts that increments with each "set" of entries to the table. Is there a way to do this without including another table that stores the information without attributing it to users?

    Read the article

  • Rails 3 fields_for agressive loading?

    - by Seth
    Hi all, I'm trying to optimize (limit) queries in a view. I am using the fields_for function. I need to reference various properties of the object, such as username for display purposes. However, this is a rel table, so I need to join with my users table. The result is N sub-queries, 1 for each field in fields_for. It's difficult to explain, but I think you'll understand what I'm asking if I paste my code: <%= form_for @election do |f| %> <%= f.fields_for :voters do |voter| %> <%= voter.hidden_field :id %> <%= voter.object.user.preferred_name %> <% end %> <% end %> I have like 10,000 users, and many times each election will include all 10,000 users. That's 10,000 subqueries every time this view is loaded. I want fields_for to JOIN on users. Is this possible? I'd like to do something like: ... <%= f.fields_for :voters, :joins => :users do |voter| %> ... <% end %> ... But that, of course, doesn't work :(

    Read the article

  • Where to put code snippets in Rails?

    - by Nik
    Hello all, I have this code snippets that generates a signature for POSTs. The detail of it is not important, but what I want to know is: since it is not a model-related chunk of code, it really can be use anywhere: in controllers, in models, in view helpers; even in views. So I am unsure where and, even bigger of a problem, how to activate the use of it once I place it in some location. Is it what those "require" statements are all about? That you can acquire some functionality through a "require" statement in the current file you are working on? Just so that we have an example to talk about, say, I have a little snippet of code that does cubing: def cube_it(num) num**3 end I know that I will be using it in various places across the application, so where should I put it? and when I do need to use it, how can I "summon" it? Thank You

    Read the article

  • In MVC framworks (such as Ruby on Rails), do usually Model spell as singular and controller and view

    - by Jian Lin
    I usually see Ruby on Rails books using script/generate model Story name:string link:string which is a singular Story, while when it is controller script/generate controller Stories index then the Story now is Stories, which is plural. Is this a standard on Ruby on Rails? Is it true in other MVC frameworks too, like CakePHP, Symfony, Django, or TurboGears? I see that in the book Rails Space, the controller is also called User, which is the same as the model name, and it is the only exception I see.

    Read the article

  • Rails: Best practice to store user settings?

    - by ole_berlin
    Hi, I'm wondering what the best way is to store user settings? For a web 2.0 app I want users to be able to select certain settings. At the moment is it only when to receive email notifications. The easiest way would be to just create a Model "Settings" and have a column for every setting and then have a 1-1 relationship with users. But is there a pattern to solve this better? Is it maybe better to store the info in the user table itself? Or should I use a table with "settings_name" and "settings_value" to be completely open about the type of settings stored there (without having to run any migrations when adding options)? What is your opinion? Thanks

    Read the article

  • Show or hide fields depending on the Acl9 role - Ruby on Rails

    - by Michaël
    Hi, I am using Acl9 to manage the roles and I want to hide the checkbox usertype if the user has the role :customer and show it if the role is :manager. I want that just the :manager can edit all the fields and some for the :customer. Thank you for your help! <h1>Editing user</h1> <% form_for(@user) do |f| %> <%= f.error_messages %> <p> <%= f.label :usertype %><br /> <%= f.check_box :usertype %> </p> <p> <%= f.label :surname %><br /> <%= f.text_field :surname %> </p> <p> <%= f.label :firstname %><br /> <%= f.text_field :firstname %> </p> <p> <%= f.label :phone %><br /> <%= f.text_field :phone %> </p> <p> <%= f.label :email %><br /> <%= f.text_field :email %> </p> <p> <%= f.label :registrationdate %><br /> <%= f.datetime_select :registrationdate %> </p> <p> <%= f.label :login %><br /> <%= f.text_field :login %> </p> <p> <%= f.label :password %><br /> <%= f.text_field :password %> </p> <p> <%= f.submit 'Update' %> </p> <% end %> <%= link_to 'Show', @user %> | <%= link_to 'Back', users_path %>

    Read the article

  • Ruby on Rails - observe_field help

    - by miligraf
    Trying to put in field "pagar" the calculated value of "precio" * 15% but I don't know why it is not working :S <% form_for @libro, :html => { :multipart => true } do |f| %> <%= f.label "Precio (si es venta):" %> <%= f.text_field :precio %> <%= observe_field :libro_precio, :frequency => 0.25, :update => :libro_pagar, :with => 'value*0.15' %> <%= f.label "A pagar (si es venta):" %> <%= f.text_field :pagar %> <% end %>

    Read the article

  • Rescuing redirect :back after destroy in Rails?

    - by Andreas
    I'm looking for a best practice solution to be able to keep using redirect :back after a successful destroy action, as many items can be deleted from a variety of listings. Unfortunately that strategy fails for the one case when the delete is initiated from the item view itself. What approach do you recommend for this situation?

    Read the article

  • How To Create A Link For "save Image As" To Download an Image In Rails

    - by Kuya
    I want to make a link download like this http://idwallpaper.com/download.php?image_id=1517 I have tried on other tutorial like this <script> function SaveFile(fname){ img.document.execCommand('saveas', null ,fname) } </script> <iframe id="img" src="myimage.jpg" width="(image width + 20)px" height="(image height + 25)px" scrolling="no" frameborder="0px"></iframe> <button onclick="SaveFile('myimage.jpg');">save as</button> Does not work in FireFox though.....

    Read the article

  • STI and accepts_nested_attributes_for in rails

    - by ryanshackintosh
    I have models as follows: class Entity < ActiveRecord::Base has_many :addresses accepts_nested_attributes_for :addresses, :reject_if => lambda { |a| a[:label].blank?} , :allow_destroy => true end class Client < Entity before_save :set_type private def set_type self.type = "Client" end end class Address < ActiveRecord::Base belongs_to :entity end I have recently implemented accepts_nested_attributes_for on the /clients/new form, as follows: <% form_for(@client, :html => {:class => 'form'}) do |f| -%> <%= f.label :name %> <%= f.text_field :name -%> <%= f.label :phone %> <%= f.text_field :phone %> <% f.fields_for :addresses do |a| %> <%= a.label :street %> <%= a.text_field :street%> <%= a.label :city %> <%= a.text_field :city %> <% end %> <% end %> And my controller as follows: class ClientsController < ApplicationController before_filter :load_client , :except => [:index, :new, :create, :render_clients] def new @client = Client.new @client.addresses.build end def create @client = Client.new(params[:client]) if @client.save flash[:notice] = 'Client has been successfully added' redirect_to @client else render :action => 'new' end end The issue is that when the record is saved it gives an error stating: "Entity can't be blank" I assume it is something to do with the fact that a 'Client' and not an 'Entity' is being added. Can anyone point me in the right direction?

    Read the article

  • Rails always include (join) on initialize

    - by Seth
    Hello, I have a User model as illustrated below: class User < ActiveRecord belongs_to :college belongs_to :class_level end I want to ALWAYS join with those other two tables returning one simplified User object. How do I accomplish this in my User model. I'm aware that I can do this in another model: class Foo < ActiveRecord has_many :users, :include => [:college, :class_level] end But I want to do this in my User model, so Foo.users will either be eager loaded OR be joined already. Is there a way to create an initialize this in the User model?

    Read the article

  • Is there anything like Zope Page Templates for Ruby on Rails?

    - by dan
    I have a Ruby on Rails app that I built myself, but which needs a redesign by a professional designer. I know most designers just give you Photoshop mockups and slices, but I would like to hire someone to implement the design as well, which means rewriting the css style sheets and the erb and haml templates. The problem is that I want someone else to implement the redesign without exposing my business logic code to the redesign implementer. Also, I wish there was a way to allow a designer to implement a redesign on a Ruby on Rails site without having to know anything about Ruby on Rails. Are either of these scenarios possible using any combination of software tools? I guess I'm looking for something like Zope Page Templates, but for Ruby on Rails. http://quintagroup.com/cms/zpthttp://quintagroup.com/cms/zpt

    Read the article

  • rails: best way to store comments in mysql

    - by ciss
    Hello. Okay i have two models: posts and comments. as you can think comments has column :post_id. My models Comments belongs_to :post Post has_many :comments So, this is pretty simple association but i have some problems with ordering comments. at first time, when i create my comments migration file i just add column :position. This column indicate comment position in the post. But now i think what where is more good way to do this. so i can't make my choise: 1) uses t.column :datatime :created_at, :default = Time.now() 2) or use timestamps? this is undiscovered for me, please tell me about your exp.

    Read the article

  • Ruby On Rails Routes

    - by Kezzer
    I can't figure out how to get the following routes. Here's an extract from my routes.rb file: map.resources :treatments map.root :controller => "home" map.connect ':controller/:action/:id' map.connect ':controller/:action/:id.:format' map.connect ':action', :controller => 'home' # replaces the need to manually map pure actions to a default controller map.resources :bookings map.resource :dashboard map.resource :home Now I do realise that the ordering matters, but I can't seem to get them to work correctly. What I want is so http://localhost:3000/bookings/new actually takes you to an action http://localhost:3000/bookings/signmeup if you're either not signed in, or haven't got a login. The problem is that if I change my routes around, when I attempt to create a new booking after I have logged in, then it doesn't POST the form submission and just takes me back to the view page. This is definitely because of the routes as if I rearrange map.resources :bookings to be before all of them, then it works. Any ideas?

    Read the article

< Previous Page | 113 114 115 116 117 118 119 120 121 122 123 124  | Next Page >