Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ## new.html.erb
- <% form_for(@thing) do |f| %>
- <p>
- <b>Select A Project:</b><br />
- <%= select_tag "thing[project_id]", options_from_collection_for_select(current_user.projects, :id, :name) %>
- </p>
- <p>
- <b>Select a Workflow State:</b>
- <%= render :partial => 'workflow_state_select', :object => current_user.projects[0].workflow.workflow_states %>
- <%= observe_field 'thing[project_id]', :frequency => 0.5, :update => 'thing[workflow_state_id]', :url => workflow_states_path(), :with => "'project_id=' + Form.Element.serialize(thing[project_id])" %> </p>
- # .. etc
- ## _workflow_state_select.html.erb
- <%= select_tag "thing[workflow_state_id]",
- options_from_collection_for_select(workflow_state_select, :id, :name) %>
- ## views/workflow_states/index.js.rjs
- replace_html 'thing[workflow_state_id]', :partial => 'workflow_state_select', :object => @workflow_states
- ## routes.rb
- map.resources :projects do |projects|
- projects.resources :workflow_states, :name_prefix => "project_"
- end
- ## generated javascript:
- <script type="text/javascript">
- //<![CDATA[
- new Form.Element.Observer('thing[project_id]', 0.5, function(element, value) {new Ajax.Updater('thing[workflow_state_id]', '/projects/NULL/workflow_states', {asynchronous:true, evalScripts:true, parameters:value})})
- //]]>
- </script>
Add Comment
Please, Sign In to add comment