dubstep
February 29, 2012, 4:45am
#1
I have a form_for like:
<%= form_for @user , … |f| %>
<%= f.collection_select :friend_type, FriendType.all, :id, :name %>
Now in my new action, I set the friend_type from the querystring, so it
already has a value of e.g. 3 (which is the id).
How can I have this pre-selected when it renders?
S_Ahmed
February 29, 2012, 9:31pm
#2
http://apidock.com/rails/ActionView/Helpers/FormOptionsHelper/collection_select
might help you on this. It seems to depend on what exact objects
you’ve got set up. I’m not too clear on it myself!
-Dave
–
Dave A.: Available Cleared Ruby on Rails Freelancer
(NoVa/DC/Remote) – see www.DaveAronson.com , and blogs at
www.Codosaur.us , www.Dare2XL.com , www.RecruitingRants.com
I’m curious what you have as far as relationships in your FriendType
model? Does it belong_to :user?
If so,
<%= f.collection_select(:user_id, FriendType.all, :id, :name, options=
{:prompt => false}, {:class => ‘yourCustomClass’}) %>
Hope that helps you out.
thanks I’ll try that tonight.
ok figured it out, I had to run seed on my test db.
thanks!
Ok I added:
page.html
And my select is actually empty, it has no options! But when running
rails server I can see the select and options (and the dropdown list in
the
browser).
Why is it not rendering using capybara?
My controller for new is:
@account = Account.new
My view page has:
<% form_for … %>
<%= f.label :plan_type%>
<%= f.collection_select :friend_type, FriendType.all, :id, :name, {
:selected => params[:friend_type] } %>
<%end%>
My test looks like:
describe “User pages” do
subject { page }
describe “new” do
before { visit ‘/user/new’ }
describe “with valid information” do
before do
select ‘XXXX’, :from => “user[friend_type]”
fill_in …
…
end
it "should create a user" do
expect { click_button "Create"}.to change(User, :count).by(1)
end
end
end
end
Is this a timing issue?
Set the html_options parameter in collection_select to { :selected =>
params[:friend_type] }
On Tuesday, February 28, 2012 7:44:01 PM UTC-8, Gitted wrote:
How can I have this pre-selected when it renders?
On Tuesday, February 28, 2012 7:44:01 PM UTC-8, Gitted wrote:
How can I have this pre-selected when it renders?
On Tuesday, February 28, 2012 7:44:01 PM UTC-8, Gitted wrote:
How can I have this pre-selected when it renders?
On Tuesday, February 28, 2012 7:44:01 PM UTC-8, Gitted wrote:
How can I have this pre-selected when it renders?